Jquery模拟的select点击选择实现代码

采用模拟的好处可以任意的进行样式控制,做出各种各样的效果,在各个浏览器中的表现都一致,实现客户蛋疼的要求,但缺点也是同样的存在的,网络非常慢或客户端禁止运行脚本的时候//(尽管脚本禁止运行的机率很低,一般只会有服务器版本的浏览器上才会出现),脚本加载不到有可能会影响到其失效,无法进行操作,

实现的思路很简单,只有两步:
1、当鼠标进行移入和点击的目标元素的时候,触发弹出一个层,层内装着模拟的不同的元素的值
2、点击选择层内的元素的时候,需要将点击元素文本元素赋到目标元素中,并将元素内的一些参数值传到一个隐藏的域中进行传值

于是就有了以下的HTML、CSS和操作JS:

html代码

 代码如下 复制代码

<div class="DemoView">
  <h2>DEMO效果</h2>
  <div class="DemoViewIn">
   <div class="mbox">
    系统默认的select:
    <select name="" class="sysSelect">
     <option>商品</option>
     <option>商铺</option>
    </select>
   </div>
   <div class="mbox">
    进行模拟的select:
    <span class="selectType" >
     <a title="" href="#" class="ipt"  id="selectTypeText">全部</a>
     <span id="selectTypeMenu">
      <a rel="0" title="" href="#">全部</a>
      <a rel="1" title="" href="#">商品</a>
      <a rel="2" title="" href="#">商铺</a>
     </span>
     <input type="hidden" name="" class="ipt" value="" id="selectTypeRel">
     <em class="searchArrow hh abs">下拉选择</em>
    </span>
   </div>
  </div>
 </div>

css代码

 代码如下 复制代码

.sysSelect{width:76px; height:28px; line-height:28px; border:1px solid #CCC; font-size:14px;}
.sysSelect option{height:28px; line-height:28px;}
.selectType{position:relative; width:78px; height:30px; line-height:30px; font-size:14px;}
.selectType .ipt{width:76px; height:28px; line-height:28px; border:1px solid #CCC; display:inline-block; text-decoration:none; color:#000; text-indent:5px; outline:none;}
.selectType span{position:absolute; width:76px; background-color:#fff; border:1px solid #CCC; border-top-style:dashed; left:0px;  top:22px; text-indent:6px; line-height:26px; display:none;}
.selectType span a{color:#333; display:block; text-decoration:none;}
.selectType span a:hover{background-color:#f60; color:#fff;}
.selectType .searchArrow{border-top:6px solid #666; border-left:6px solid #FFF; border-right:6px solid #FFF; position:absolute; width:0; height:0; top:6px; right:12px; cursor:pointer; -webkit-transition:-webkit-transform 0.2s ease-in; -moz-transition:-moz-transform 0.2s ease-in; -o-transition:-o-transform 0.2s ease-in; transition:transform 0.2s ease-in; overflow:hidden; text-indent:-2000px;}
.selectType .searchArrowRote{-moz-transform:rotate(180deg); -moz-transform-origin:50% 30%; -webkit-transform:rotate(180deg); -webkit-transform-origin:50% 30%; -o-transform:rotate(180deg); -o-transform-origin:50% 30%; transform:rotate(180deg);transform-origin:50% 30%; filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); top:-9px/9;}

jquery代码

 代码如下 复制代码

$("#selectTypeText").click(function () {
    $(this).next("span").slideDown(200);
    $(".searchArrow").addClass("searchArrowRote");
});
$("#selectTypeText").blur(function () {
     $(this).next("span").slideUp(200);
     $(".searchArrow").removeClass("searchArrowRote");
});
$("#selectTypeMenu>a").click(function () {
    $("#selectTypeText").text($(this).text());
    $("#selectTypeRel").attr("value", $(this).attr("rel"));
    $(this).parent().slideUp(200);
    $(".searchArrow").removeClass("searchArrowRote");
    return false;
});

时间: 2024-09-12 02:16:08

Jquery模拟的select点击选择实现代码的相关文章

jQuery模拟实现的select点击选择效果【附demo源码下载】_jquery

本文实例讲述了jQuery模拟实现的select点击选择效果.分享给大家供大家参考,具体如下: 有时候有些HTML元素无法让我们用样式控制进行控制,但是射鸡师或是客户的需求就是需要这种效果,还要让每个浏览器都显示同样的效果,这时候就会让我们这些所谓的前端攻城师很蛋疼,客户会认为交了点钱不让你折腾些东西,以为你是没做事的.面对这些对技术一窍不通的客户,技术对于他们来说就是一坨屎,以为我们都是用意念来写代码做程序的,所以都把我们的劳动成果看作是廉价得像是简单的拉出一泡屎而已. 虽然很喜欢什么都没有修

jquery制作select列表双向选择示例代码_jquery

jquery制作的select列表双向选择,兼容性肯定是不错的,需要的朋友可以学习下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"&

js模拟级联select城市地址选择

效果如下  代码如下 复制代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="keywords" content="模拟级联select,模拟select,选择地址"> <meta name="description" content="模拟级联select选择地址&q

jquery 实现两Select 标签项互调示例代码_jquery

<html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" c

基于jquery的网页SELECT下拉框美化代码_jquery

1.解决了有些select 美化代码,无法触发原有select 控件的onchange 事件问题. 2.允许多次调用 $("...").selectCss(),以解决Select的options更新后无法同步的问题. 使用方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht

基于JQuery模拟的FLASH导航动画效果实现代码

这个分上下两个部分,上面是大分类,下面是二级分类,动画是一个向上,一个向下,动画利用JQuery中的animate可以做到,鼠标的移上和移出就是一个hover的事件进行触发,基本涉及的就主要是这两个函数了,其他的一些小地方就在实际的过程中进行细节调整就可以了. 于是就有了下面基于JQuery的核心脚本(这个代码有点长,其实没什么特别的地方,和我们平常写的基本一样,HTML和CSS请到DEMO页中查看,因有使用图片就不贴出来了) 核心代码如下  代码如下 复制代码 $("#nav>li>

jquery选择器-根据多个属性选择示例代码_jquery

根据多个属性选择E[attr=val][attr=val] $("div[title='ttt'][class='aaaa']").click()................ 所有div元素下所有属性title值是等于ttt并且属性class等于aaaa的元素

jquery下拉select控件操作方法分享

 这篇文章主要介绍了jquery下拉select控件操作方法分享(jquery操作select),需要的朋友可以参考下 JQuery获取和设置Select选项方法汇总如下:   代码:   代码如下: $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 var checkText=$("#select_id").find("option:selected&quo

jquery/js中select option操作总结

1.获取选中select的value和text,html代码如下:  代码如下 复制代码 <select id="mySelect"> <option value="1">one</option> <option value="2">two</option> <option value="3">three</option> </selec