茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    js+css實(shí)現(xiàn)select的美化效果
    來(lái)源:易賢網(wǎng) 閱讀:2001 次 日期:2016-07-16 13:28:30
    溫馨提示:易賢網(wǎng)小編為您整理了“js+css實(shí)現(xiàn)select的美化效果”,方便廣大網(wǎng)友查閱!

    這篇文章主要為大家詳細(xì)介紹了js+css實(shí)現(xiàn)select的美化效果,如何針對(duì)select進(jìn)行美化,感興趣的小伙伴們可以參考一下

    先給大家看一看美化之后的效果圖:

    名單

    CSS:

    .div-select

    {

      border: solid 1px #999;

      height: 40px;

      line-height: 40px;

      cursor: default;

    }

    .div-select-text

    {

      float: left;

      background-color: #fff;

      height: 100%;

      word-break: keep-all;

      overflow: hidden;

      cursor: default;

    }

      .div-select-text > div

      {

        padding: 3px;

        line-height: 34px;

      }

    .div-select-arrow

    {

      background-color: #fff;

      float: right;

      width: 40px;

      height: 100%;

      color: #999;

      cursor: default;

    }

      .div-select-arrow > div

      {

        border: solid 1px #999;

        margin: 2px;

        height: 34px;

        background-color: #f2f2f2;

        text-align: center;

        line-height: 34px;

        font-size: 22px;

      }

    .div-select-list

    {

      position: absolute;

      float: left;

      top: 100px;

      left: 100px;

      border: solid 1px #999;

      max-height: 300px;

      overflow: auto;

      background-color: #9f9;

      display: none;

      z-index: 9100;

    }

      .div-select-list .div-select-item:nth-child(2n+1)

      {

        background-color: #fff;

      }

    .div-select-item

    {

      height: 50px;

      line-height: 50px;

      padding-left: 3px;

      padding-right: 3px;

      background-color: #f2f2f2;

      word-break: keep-all;

      overflow: hidden;

      cursor: default;

    }

    .div-select-item-hover

    {

      background-color: #3399ff!important;

    }

    .div-select-selected

    {

      background-color: #3399ff !important;

    }

    JS:

    //select美化

    var divSelectListIndex = 0;

    $(function () {

      initDivSelect();

    });

    //初始化select美化插件

    function initDivSelect() {

      $(".div-select-target").each(function () {

        divSelectListIndex++;

        var select = $(this);

        if (select.css("display") == "none") {

          return;

        }

        else {

          select.css("display", "none")

        }

        if (select.next("div").find(".div-select-list").length == 0) {

          select.after('<div><div class="div-select"><div class="div-select-text"><div></div></div><div class="div-select-arrow"><div>∨</div></div></div></div>');

          $("body").append('<div class="div-select-list div-select-list-' + divSelectListIndex + '"></div>');

        }

        var div = select.next("div");

        var divText = div.find(".div-select-text");

        var divSelect = div.find(".div-select");

        var divArrow = div.find(".div-select-arrow");

        var list = $(".div-select-list-" + divSelectListIndex);

        function updateText(item) {

          divText.find("div").html(item.html());

        }

        select.find("option").each(function () {

          var option = $(this);

          var text = option.html();

          var value = option.attr("value");

          list.append('<div class="div-select-item" value="' + value + '">' + text + '</div>');

          list.find(".div-select-item:last").click(function () {

            var item = $(this);

            var value = item.attr("value");

            select.val(value);

            select.change();

            list.find(".div-select-selected").removeClass("div-select-selected");

            item.addClass("div-select-selected");

            updateText(item);

            list.hide();

          });

          list.find(".div-select-item:last").mouseenter(function () {

            var item = $(this);

            var selectedMark = list.find(".div-select-selected");

            selectedMark.removeClass("div-select-selected");

            selectedMark.addClass("div-select-selected-mark");

            list.find(".div-select-item-hover").removeClass("div-select-item-hover");

            item.addClass("div-select-item-hover");

            updateText(item);

          });

        });

        list.mouseleave(function () {

          var selectedMark = list.find(".div-select-selected-mark");

          if (list.find(".div-select-selected").length == 0) {

            selectedMark.addClass("div-select-selected");

            updateText(selectedMark);

          }

          selectedMark.removeClass("div-select-selected-mark");

          list.find(".div-select-item-hover").removeClass("div-select-item-hover");

        });

        if (select.attr("width")) {

          divSelect.width(select.attr("width") - 2);

          divText.width(divSelect.width() - divArrow.width());

          if (select.attr("width") > list.width()) {

            list.width(divSelect.width());

          }

        }

        div.keydown(function (e) {

          list.find(".div-select-selected-mark").removeClass("div-select-selected-mark");

          list.find(".div-select-item-hover").addClass("div-select-selected");

          list.find(".div-select-item-hover").removeClass("div-select-item-hover");

          if (e.keyCode == 40) {

            var currentSelected = list.find(".div-select-selected");

            var nextSelected = currentSelected.next(".div-select-item");

            if (nextSelected.length == 0) {

              nextSelected = list.find(".div-select-item:first");

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              list.scrollTop(0);

            } else {

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              var i = 0;

              while (nextSelected.position().top < 0

                || nextSelected.position().top > list.height() - nextSelected.height()) {

                list.scrollTop(list.scrollTop() + nextSelected.height());

                if (i++ > 100) break;

              }

            }

            updateText(nextSelected);

            return false;

          }

          if (e.keyCode == 38) {

            var currentSelected = list.find(".div-select-selected");

            var nextSelected = currentSelected.prev(".div-select-item");

            if (nextSelected.length == 0) {

              nextSelected = list.find(".div-select-item:last");

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              list.scrollTop(list.find(".div-select-item").length * nextSelected.height());

            }

            else {

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              var i = 0;

              while (nextSelected.position().top < 0

                || nextSelected.position().top > list.height() - nextSelected.height()) {

                list.scrollTop(list.scrollTop() - nextSelected.height());

                if (i++ > 100) break;

              }

            }

            updateText(nextSelected);

            return false;

          }

          if (e.keyCode == 13) {

            var selectedItem = list.find(".div-select-selected");

            var value = selectedItem.attr("value");

            select.val(value);

            list.hide();

            select.change();

          }

        });

        divSelect.click(function () {

          $("a").bind("click", function () {

            $("a").unbind("click");

            list.hide();

          });

          if (list.css("display") == "none") {

            list.show();

          }

          else {

            list.hide();

          }

          list.css("top", divSelect.offset().top + divSelect.height() + 1);

          list.css("left", divSelect.offset().left);

          if ($(window).scrollTop() + $(window).height() < list.offset().top + list.height() + 2) {

            list.css("top", $(window).scrollTop() + $(window).height() - list.height() - 2);

          }

          if (list.width() < divSelect.width()) {

            list.width(divSelect.width());

          }

          var currentSelected = list.find(".div-select-selected");

          if (currentSelected.position().top > list.height() - currentSelected.height()) {

            list.scrollTop(currentSelected.position().top - currentSelected.height() * 2);

          }

          return false;

        });

        $("html,body").bind("click", function () {

          list.hide();

        });

        list.click(function () {

          return false;

        });

        function initSelect() {

          list.find(".div-select-selected").removeClass("div-select-selected");

          var matchItem = list.find(".div-select-item[value='" + select.val() + "']");

          if (matchItem.length > 0) {

            matchItem.addClass("div-select-selected");

            updateText(matchItem);

          }

        }

        initSelect();

        select.change(function () {

          initSelect();

        });

      }); // $(".div-select-target").each

    }

    2、如何使用:

    第1步、引用CSS和JS:

    <link type="text/css" href="~/Scripts/DivSelect/divSelect.css" rel="stylesheet" />

    <script type="text/javascript" src="~/Scripts/jquery-1.7.1.min.js"></script>

    <script type="text/javascript" src="~/Scripts/DivSelect/divSelect.js"></script>

    第2步、給select控件加上class="div-select-target" width="200",其中class="div-select-target"是必須的,width="200"是可選的。完整HTML代碼如下:

    <link type="text/css" href="~/Scripts/DivSelect/divSelect.css" rel="stylesheet" />

    <script type="text/javascript" src="~/Scripts/jquery-1.7.1.min.js"></script>

    <script type="text/javascript" src="~/Scripts/DivSelect/divSelect.js"></script>

    <div style="border: solid 1px #f99; margin: 50px; padding: 50px;">

      <select name="sel" class="div-select-target" width="200" >

        <option value="1">中國(guó)</option>

        <option value="2">美國(guó)</option>

        <option value="3">法國(guó)</option>

        <option value="4">英國(guó)</option>

        <option value="5">俄羅斯</option>

        <option value="6">德國(guó)</option>

        <option value="7">韓國(guó)</option>

        <option value="8">日本</option>

        <option value="9">印度</option>

        <option value="10">巴西</option>

        <option value="11">意大利</option>

        <option value="12">這個(gè)國(guó)家的名稱很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)很長(zhǎng)</option>

        <option value="13">瑞士</option>

        <option value="14">越南</option>

        <option value="15">緬甸</option>

        <option value="16">泰國(guó)</option>

        <option value="17">加拿大</option>

        <option value="18" selected="selected">南非</option>

        <option value="19">澳大利亞</option>

        <option value="20">新西蘭</option>

        <option value="21">挪威</option>

        <option value="22">巴勒斯坦</option>

        <option value="23">以色列</option>

        <option value="24">新加坡</option>

        <option value="25">馬來(lái)西亞</option>

        <option value="26">波蘭</option>

        <option value="27">國(guó)家27</option>

        <option value="28">國(guó)家28</option>

        <option value="29">國(guó)家29</option>

        <option value="30">國(guó)家30</option>

        <option value="31">國(guó)家31</option>

        <option value="32">國(guó)家32</option>

        <option value="33">國(guó)家33</option>

        <option value="34">國(guó)家34</option>

        <option value="35">國(guó)家35</option>

        <option value="36">國(guó)家36</option>

        <option value="37">國(guó)家37</option>

        <option value="38">國(guó)家38</option>

      </select>

    </div>

    <div style="border: solid 1px #f99; margin: 50px; padding: 50px; margin-top: 700px; margin-bottom: 700px;">

      <select name="sel" class="div-select-target" width="200" >

        <option value="1">中國(guó)</option>

        <option value="2">美國(guó)</option>

        <option value="3">法國(guó)</option>

        <option value="4">英國(guó)</option>

        <option value="5">俄羅斯</option>

        <option value="6" selected="selected">德國(guó)</option>

        <option value="7">韓國(guó)</option>

        <option value="8">日本</option>

      </select>

    </div>

    二、滾動(dòng)條美化版:

    CSS:

    .div-select

    {

      border: solid 1px #999;

      height: 40px;

      line-height: 40px;

      cursor: default;

    }

    .div-select-text

    {

      float: left;

      background-color: #fff;

      height: 100%;

      word-break: keep-all;

      overflow: hidden;

      cursor: default;

      font-size: 16px;

      font-family: 微軟雅黑,雅黑;

    }

      .div-select-text > div

      {

        padding: 3px;

        line-height: 34px;

      }

    .div-select-arrow

    {

      background-color: #fff;

      float: right;

      width: 40px;

      height: 100%;

      color: #999;

      cursor: default;

    }

      .div-select-arrow > div

      {

        border: solid 1px #999;

        margin: 2px;

        height: 34px;

        background-color: #f2f2f2;

        text-align: center;

        line-height: 34px;

        font-size: 22px;

      }

    .div-select-list

    {

      position: absolute;

      float: left;

      top: 100px;

      left: 100px;

      border: solid 1px #999;

      max-height: 300px;

      overflow: hidden;

      background-color: #9f9;

      display: none;

      z-index: 9100;

      font-size: 16px;

      font-family: 微軟雅黑,雅黑;

    }

      .div-select-list .div-select-item:nth-child(2n+1)

      {

        background-color: #fff;

      }

    .div-select-item

    {

      height: 50px;

      line-height: 50px;

      padding-left: 3px;

      padding-right: 3px;

      background-color: #f2f2f2;

      word-break: keep-all;

      overflow: hidden;

      cursor: default;

    }

    .div-select-item-hover

    {

      background-color: #3399ff!important;

    }

    .div-select-selected

    {

      background-color: #3399ff !important;

    }

    .div-select-list-scrollbar

    {

      position: absolute;

      float: left;

      border: solid 1px #999;

      border-left: 0;

      background-color: #e8e8ec;

      width: 40px;

      height: 300px;

      display: none;

      cursor: default;

      z-index: 9101;

    }

    .div-select-scrollbar-up

    {

      border-bottom: solid 1px #fff;

      height: 39px;

      font-size: 22px;

      line-height: 39px;

      color: #999;

      background-color: #cdcdcd;

      text-align: center;

    }

    .div-select-scrollbar-pos

    {

      height: 220px;

    }

      .div-select-scrollbar-pos > div:last-child

      {

        width: 40px;

        height: 20px;

        background-color: #cdcdcd;

      }

    .div-select-scrollbar-down

    {

      border-top: solid 1px #fff;

      height: 39px;

      font-size: 22px;

      line-height: 39px;

      color: #999;

      background-color: #cdcdcd;

      text-align: center;

    }

    JS:

    //select美化

    var divSelectListIndex = 0;

    $(function () {

      initDivSelect();

    });

    //初始化select美化插件

    function initDivSelect() {

      $(".div-select-target").each(function () {

        divSelectListIndex++;

        var select = $(this);

        if (select.css("display") == "none") {

          return;

        }

        else {

          select.css("display", "none")

        }

        if (select.next("div").find(".div-select-list").length == 0) {

          select.after('<div><div class="div-select"><div class="div-select-text"><div></div></div><div class="div-select-arrow"><div>∨</div></div></div></div>');

          $("body").append('<div class="div-select-list div-select-list-' + divSelectListIndex + '"></div>');

        }

        var div = select.next("div");

        var divText = div.find(".div-select-text");

        var divSelect = div.find(".div-select");

        var divArrow = div.find(".div-select-arrow");

        var list = $(".div-select-list-" + divSelectListIndex);

        var scrollbar;

        var scrollbarPosTop;

        var scrollbarPos;

        var scrollbarScrollHeight;

        var scrollbarUp;

        var scrollbarDown;

        var itemHeight;

        var itemCount;

        var itemsHeight;

        var scrollFlag = false;

        function updateText(item) {

          divText.find("div").html(item.html());

        }

        select.find("option").each(function () {

          var option = $(this);

          var text = option.html();

          var value = option.attr("value");

          list.append('<div class="div-select-item" value="' + value + '">' + text + '</div>');

          list.find(".div-select-item:last").click(function () {

            var item = $(this);

            var value = item.attr("value");

            select.val(value);

            select.change();

            list.find(".div-select-selected").removeClass("div-select-selected");

            item.addClass("div-select-selected");

            updateText(item);

            list.hide();

            if (scrollbar) scrollbar.hide();

          });

          list.find(".div-select-item:last").mouseenter(function () {

            var item = $(this);

            var selectedMark = list.find(".div-select-selected");

            selectedMark.removeClass("div-select-selected");

            selectedMark.addClass("div-select-selected-mark");

            list.find(".div-select-item-hover").removeClass("div-select-item-hover");

            item.addClass("div-select-item-hover");

            updateText(item);

          });

        });

        list.mouseleave(function () {

          var selectedMark = list.find(".div-select-selected-mark");

          if (list.find(".div-select-selected").length == 0) {

            selectedMark.addClass("div-select-selected");

            updateText(selectedMark);

          }

          selectedMark.removeClass("div-select-selected-mark");

          list.find(".div-select-item-hover").removeClass("div-select-item-hover");

        });

        if (select.attr("width")) {

          divSelect.width(select.attr("width") - 2);

          divText.width(divSelect.width() - divArrow.width());

        }

        else {

          divText.width(list.width());

        }

        div.keydown(function (e) {

          list.find(".div-select-selected-mark").removeClass("div-select-selected-mark");

          list.find(".div-select-item-hover").addClass("div-select-selected");

          list.find(".div-select-item-hover").removeClass("div-select-item-hover");

          if (e.keyCode == 40) {

            var currentSelected = list.find(".div-select-selected");

            var nextSelected = currentSelected.next(".div-select-item");

            if (nextSelected.length == 0) {

              nextSelected = list.find(".div-select-item:first");

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              list.scrollTop(0);

            } else {

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              var i = 0;

              while (nextSelected.position().top < 0

                || nextSelected.position().top > list.height() - nextSelected.height()) {

                list.scrollTop(list.scrollTop() + nextSelected.height());

                if (i++ > 100) break;

              }

            }

            updateText(nextSelected);

            updateScrollbarPos();

            return false;

          }

          if (e.keyCode == 38) {

            var currentSelected = list.find(".div-select-selected");

            var nextSelected = currentSelected.prev(".div-select-item");

            if (nextSelected.length == 0) {

              nextSelected = list.find(".div-select-item:last");

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              list.scrollTop(list.find(".div-select-item").length * nextSelected.height());

            }

            else {

              nextSelected.addClass("div-select-selected");

              currentSelected.removeClass("div-select-selected");

              var i = 0;

              while (nextSelected.position().top < 0

                || nextSelected.position().top > list.height() - nextSelected.height()) {

                list.scrollTop(list.scrollTop() - nextSelected.height());

                if (i++ > 100) break;

              }

            }

            updateText(nextSelected);

            updateScrollbarPos();

            return false;

          }

          if (e.keyCode == 13) {

            var selectedItem = list.find(".div-select-selected");

            var value = selectedItem.attr("value");

            select.val(value);

            list.hide();

            if (scrollbar) scrollbar.hide();

            select.change();

          }

        });

        itemHeight = list.find(".div-select-item:first").height();

        itemCount = list.find(".div-select-item").length;

        itemsHeight = itemHeight * itemCount;

        if (itemsHeight > list.height()) {

          $("body").append('<div class="div-select-list-scrollbar div-select-list-scrollbar-' + divSelectListIndex + '"><div class="div-select-scrollbar-up">∧</div><div class="div-select-scrollbar-pos"><div></div><div></div></div><div class="div-select-scrollbar-down">∨</div></div>');

        }

        scrollbar = $(".div-select-list-scrollbar-" + divSelectListIndex);

        scrollbarPosTop = scrollbar.find(".div-select-scrollbar-pos").find("div:first");

        scrollbarPos = scrollbar.find(".div-select-scrollbar-pos").find("div:last");

        scrollbarScrollHeight = scrollbarPos.parent().height() - scrollbarPos.height();

        scrollbarUp = scrollbar.find(".div-select-scrollbar-up");

        scrollbarDown = scrollbar.find(".div-select-scrollbar-down");

        scrollbar.click(function () {

          return false;

        });

        scrollbarUp.click(function () {

          list.scrollTop(list.scrollTop() - list.height());

          updateScrollbarPos();

        });

        scrollbarDown.click(function () {

          list.scrollTop(list.scrollTop() + list.height());

          updateScrollbarPos();

        });

        scrollbar.mousedown(function () {

          scrollFlag = true;

        });

        scrollbar.mouseup(function () {

          scrollFlag = false;

        });

        scrollbar.mousemove(function (e) {

          if (scrollFlag) {

            var pos = e.pageY - scrollbar.offset().top - 50;

            if (pos <= scrollbarScrollHeight) {

              scrollbarPosTop.height(pos);

              list.scrollTop(scrollbarPosTop.height() / scrollbarScrollHeight * (itemsHeight - list.height()));

            }

          }

        });

        function updateScrollbarPos() {

          scrollbarPosTop.height(scrollbarScrollHeight * list.scrollTop() * 1.0 / (itemsHeight - list.height()));

          if (list.scrollTop() + list.height() == itemsHeight) {

            scrollbarPosTop.height(scrollbarScrollHeight);

          }

        }

        divSelect.click(function () {

          $("a").bind("click", function () {

            $("a").unbind("click");

            list.hide();

            scrollbar.hide();

          });

          if (list.css("display") == "none") {

            list.show();

            scrollbar.show();

          }

          else {

            list.hide();

            scrollbar.hide();

          }

          list.css("top", divSelect.offset().top + divSelect.height() + 1);

          list.css("left", divSelect.offset().left);

          var listOffsetTop = list.offset().top;

          if ($(window).scrollTop() + $(window).height() < list.offset().top + list.height() + 2) {

            list.css("top", $(window).scrollTop() + $(window).height() - list.height() - 2);

          }

          if (list.width() < divSelect.width()) {

            if (!(itemsHeight > list.height())) {

              list.width(divSelect.width());

            }

            else {

              list.width(divSelect.width() - scrollbar.width());

            }

          }

          scrollbar.find(".div-select-scrollbar-pos").find("div:first").height(0);

          scrollbar.css("left", divSelect.offset().left + list.width() + 1);

          scrollbar.css("top", divSelect.offset().top + divSelect.height() + 1);

          if ($(window).scrollTop() + $(window).height() < listOffsetTop + list.height() + 2) {

            scrollbar.css("top", $(window).scrollTop() + $(window).height() - list.height() - 2);

          }

          var currentSelected = list.find(".div-select-selected");

          if (currentSelected.position().top > list.height() - currentSelected.height()) {

            list.scrollTop(currentSelected.position().top - currentSelected.height() * 2);

          }

          updateScrollbarPos();

          return false;

        });

        $("html,body").bind("click", function () {

          list.hide();

          scrollbar.hide();

        });

        list.click(function () {

          return false;

        });

        function initSelect() {

          list.find(".div-select-selected").removeClass("div-select-selected");

          var matchItem = list.find(".div-select-item[value='" + select.val() + "']");

          if (matchItem.length > 0) {

            matchItem.addClass("div-select-selected");

            updateText(matchItem);

          }

        }

        initSelect();

        select.change(function () {

          initSelect();

        });

      }); // $(".div-select-target").each

    }

    效果圖:

    名單

    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:js+css實(shí)現(xiàn)select的美化效果
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)