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 相关文章推荐
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
jQuery.buildFragment使用方法及思路分析
Jan 07 Javascript
JavaScript实现自己的DOM选择器原理及代码
Mar 04 Javascript
php析构函数的具体用法小结
Mar 11 Javascript
JS循环遍历JSON数据的方法
Jul 08 Javascript
一个jquery实现的不错的多行文字图片滚动效果
Sep 28 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
微信小程序访问豆瓣电影api的实现方法
Mar 31 Javascript
vue前后分离调起微信支付
Jul 29 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
Feb 16 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 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
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
Python解释执行原理分析
2014/08/22 Python
python类装饰器用法实例
2015/06/04 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
《匆匆》教学反思
2014/02/22 职场文书
环保建议书500字
2014/05/14 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
小学生作文批改评语
2014/12/25 职场文书
人才市场接收函
2015/01/30 职场文书
2015年组织部工作总结
2015/04/03 职场文书
芙蓉镇观后感
2015/06/10 职场文书
队名及霸气口号大全
2015/12/25 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
Golang数据类型和相互转换
2022/04/12 Golang
GO中sync包自由控制并发示例详解
2022/08/05 Golang