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 相关文章推荐
新浪刚打开页面出来的全屏广告代码
Apr 02 Javascript
基于jquery的一个图片hover的插件
Apr 24 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
Dec 13 Javascript
javascript日期处理函数,性能优化批处理
Sep 06 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
vue.js实现条件渲染的实例代码
Jun 22 Javascript
vue中锚点的三种方法
Jul 06 Javascript
Element input树型下拉框的实现代码
Dec 21 Javascript
微信小程序如何获取群聊的openGid以及名称详解
Jul 17 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
Dec 30 Javascript
vue微信分享插件使用方法详解
Feb 18 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
php中一个完整表单处理实现代码
2011/11/10 PHP
用PHP代码给图片加水印
2015/07/01 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
jquery 可排列的表实现代码
2009/11/13 Javascript
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
python机器学习之神经网络(二)
2017/12/20 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
python Django 创建应用过程图示详解
2019/07/29 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
使用npy转image图像并保存的实例
2020/07/01 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
怀念母亲教学反思
2014/04/28 职场文书
法制宣传标语集锦
2014/06/25 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书