jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现


Posted in Javascript onApril 18, 2010

关键字“拖曳搜索”之“拖曳”功能需要 jQuery UI 之 droppable 库 效果如下:

jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现

搜索包含相关关键字时,把拖曳左边关键字到右边框里面 也可以在输入框里输入自定义关键字到下面框 即可搜索

如果去掉不需要的关键词 搜索时 把不需要的关键词从右边框拖曳回到左边 即可

jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现

 

无论原来还是自定义加入的关键词 如果已存在 她会提示...

jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
实现:

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script>

左边框 右边框
<div id="KeywordContent" class="keyword_content_BackGround ui-droppable"> 
<a href="#c" value="温馨" style="cursor:pointer"> 温馨 </a> 
<a href="#c" value="春天" style="cursor:pointer"> 春天 </a> 
<a href="#c" value="儿童" style="cursor:pointer">儿童 </a> 
<a href="#c" value="美女" style="cursor:pointer">美女</a> 
<a href="#c" value="爱情" style="cursor:pointer">爱情</a> 
.... 
</div> 
<div id="keywordIncluding" class="keyword_including"> 
</div>

拖曳关键代码:
拖曳关键词
$('#keywordIncluding a, #KeywordContent a').draggable({ 
helper: 'clone' 
}); 
// 左边 keyword_content 拖曳到 右边keyword_including 
$('#KeywordContent').droppable({ 
accept: '#keywordIncluding a', 
activeClass: 'keyword_content_active', 
opacity: '0.5', 
drop: function(ev, ui) { 
$(this).addClass('dropped'); 
ui.draggable.fadeOut('fast', function() { 
$(this).fadeIn('fast'); 
}).appendTo($(this)); 
} 
}); 
// 右边 keyword_including 拖曳到 左边keyword_content 
$('#keywordIncluding').droppable({ 
accept: '#KeywordContent a', 
activeClass: 'including_active', 
opacity: '0.5', 
drop: function(ev, ui) { 
$(this).addClass('dropped'); 
ui.draggable.fadeOut('normal', function() { 
$(this).fadeIn('fast'); 
}).appendTo($(this)); 
} 
});

判断是否存在自定义的关键字,如果有就提示,没有的话就加入
//输入框点击 
$('#AddInput input[type="button"]').click( InputInclude); 
//输入框 回车 
function ownKeywordAddInput(evt) 
{ 
if(evt.keyCode==13) 
{ 
InputInclude(); 
} 
} 
//关键词是否存在 
function InputInclude(){ 
$('#keywordIncluding').addClass("dropped"); 
var own = $('.add_to_search #AddInput input').val(); 
own = jQuery.trim(own); 
if( own.length != 0) 
{ 
//在此处理"|"问题 
while(own.indexOf('|')>-1) 
{ 
own = own.replace(/\|/g,""); 
} 
while(own.indexOf(' ')>-1) 
{ 
own = own.replace(/ /g,""); 
} 
var ExistsKeywordArr = GetExistsKeywordArr(); 
for(var i=0;i<ExistsKeywordArr.length;i++) 
{ 
if(ExistsKeywordArr[i]==own) 
{ 
alert('此关键字已存在,请通过拖拽操作获取关键字来搜索图片'); 
return; 
} 
} 
$('#keywordIncluding').append("<a href='#c' value="+own+" style='cursor:pointer'>"+ own +"</a>"); 
$('.add_to_search #AddInput #baohan').val(''); 
} 
$('#keywordIncluding a').draggable({ 
helper: 'clone' 
}); 
}

关键字是否存在
function GetExistsKeywordArr() 
{ 
var keyArrResult=[]; 
$("#keywordIncluding a").each( 
function(i,v){ 
keyArrResult.push($(v).attr("value")); 
}); 
$("#KeywordContent a").each( 
function(i,v){ 
keyArrResult.push($(v).attr("value")); 
}); 
return keyArrResult; 
}

拖曳就这样实现了 如果要实现拖曳搜索功能的话 加入Ajax 就ok了!

下面说说 图片“提示自适应放大”效果

一张小的缩略图 当鼠标移过时 就会有放大的提示效果 :

jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现

缩略图如果在页面不同位置时 鼠标移过时 放大提示效果会自动感应

提示放大效果应该是在左边还是右边 或者上面或者下面 不会因浏览器而遮住 非常人性化

jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现

实现

<script type="text/javascript" src="js/jquery.tooltip.js"></script> 
<li> 
<span class="img"> 
<a href="#"> <img src="1h-3928.jpg" lowsrc="1h-39281.jpg" /> </a> 
</span> 
</li>

提示效果
<script type="text/javascript"> 
$(".img img").tooltip({ 
track: true, 
delay: 1000, 
showURL: false, 
bodyHandler: function() { 
return $("<img/>").attr("src", this.lowsrc); 
} 
}); 
</script>

完毕!演示效果:http://www.quanjing.com/FrameSet.aspx?SearchType=7&SearchTab=G2&CEFlag=1

作者:曾祥展
出处:http://zengxiangzhan.cnblogs.com/

Javascript 相关文章推荐
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
jquery 实现表单验证功能代码(简洁)
Jul 03 Javascript
jquery的ajax跨域请求原理和示例
May 08 Javascript
JavaScript的类型、值和变量小结
Jul 09 Javascript
使用Browserify配合jQuery进行编程的超级指南
Jul 28 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
JS实现对json对象排序并删除id相同项功能示例
Apr 18 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 jQuery
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
javascript自定义加载loading效果
Sep 15 Javascript
jquery 新手学习常见问题解决方法
Apr 18 #Javascript
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 #Javascript
js 获取子节点函数 (兼容FF与IE)
Apr 18 #Javascript
几个比较实用的JavaScript 测试及效验工具
Apr 18 #Javascript
javascript JSON操作入门实例
Apr 16 #Javascript
javascript对象之内置对象Math使用方法
Apr 16 #Javascript
jQuery 类twitter的文本字数限制带提示效果插件
Apr 16 #Javascript
You might like
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
js arguments对象应用介绍
2012/11/28 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
Python模拟登陆实现代码
2017/06/14 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
旷课检讨书大全
2014/01/21 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
教师评语大全
2014/04/28 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python