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 相关文章推荐
表单JS弹出填写提示效果代码
Apr 16 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
canvas实现粒子时钟效果
Feb 06 Javascript
Angular.js基础学习之初始化
Mar 10 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
js简易版购物车功能
Jun 17 Javascript
基于JavaScript实现多级菜单效果
Jul 25 Javascript
MVVM 双向绑定的实现代码
Jun 21 Javascript
javascript实现blob加密视频源地址的方法
Aug 08 Javascript
vue实现将一个数组内的相同数据进行合并
Nov 07 Javascript
javascript实现前端成语点击验证优化
Jun 24 Javascript
vue键盘事件点击事件加native操作
Jul 27 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
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
IE8 原生JSON支持
2009/04/13 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
js实现图片无缝循环轮播
2019/10/28 Javascript
实例讲解python函数式编程
2014/06/09 Python
使用python实现省市三级菜单效果
2016/01/20 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
python:动态路由的Flask程序代码
2019/11/22 Python
pytorch数据预处理错误的解决
2020/02/20 Python
win10安装python3.6的常见问题
2020/07/01 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
一月红领巾广播稿
2014/02/11 职场文书
cf搞笑广告词
2014/03/14 职场文书
《金子》教学反思
2014/04/13 职场文书
化学专业自荐信
2014/05/28 职场文书
中小学生学籍证明
2014/10/25 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
使用javascript解析二维码的三种方式
2021/11/11 Javascript