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 相关文章推荐
RGB颜色值转HTML十六进制(HEX)代码的JS函数
Apr 25 Javascript
详细讲解JS节点知识
Jan 31 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
每天一篇javascript学习小结(Array数组)
Nov 11 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
Aug 02 Javascript
BootStrap glyphicon图标无法显示的解决方法
Sep 06 Javascript
js实现下拉框二级联动
Dec 04 Javascript
使用element-ui table expand展开行实现手风琴效果
Mar 15 Javascript
Vue.js中的组件系统
May 30 Javascript
Vue v-for循环之@click点击事件获取元素示例
Nov 09 Javascript
vue实现简单加法计算器
Oct 22 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
珊瑚虫IP库浅析
2007/02/15 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python Requests 基础入门
2016/04/07 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python3常见函数range()用法详解
2019/12/30 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
新闻系毕业生推荐信
2013/11/16 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
路政管理求职信
2014/06/18 职场文书
委托书怎么写
2014/07/31 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书