网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

HTML中select控件美化的示例分析

这篇文章主要为大家展示了“HTML中select控件美化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML中select控件美化的示例分析”这篇文章吧。

创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站制作、成都网站建设质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式营销型网站需求,让再小的成都品牌网站建设也能产生价值!

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:

//2015年2月8日
//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('
');       $("body").append('');     }     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('' + text + '');       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 }

如何使用:

第1步、引用CSS和JS:



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






  
    中国
    美国
    法国
    英国
    俄罗斯
    德国
    韩国
    日本
    印度
    巴西
    意大利
    这个国家的名称很长很长很长很长很长很长很长很长
    瑞士
    越南
    缅甸
    泰国
    加拿大
    南非
    澳大利亚
    新西兰
    挪威
    巴勒斯坦
    以色列
    新加坡
    马来西亚
    波兰
    国家27
    国家28
    国家29
    国家30
    国家31
    国家32
    国家33
    国家34
    国家35
    国家36
    国家37
    国家38
  


  
    中国
    美国
    法国
    英国
    俄罗斯
    德国
    韩国
    日本
  

效果图:

HTML中select控件美化的示例分析

滚动条美化版:

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:

//2015年2月8日
//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('
');       $("body").append('');     }     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('' + text + '');       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('
∨');     }     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 }

效果图:

HTML中select控件美化的示例分析

以上是“HTML中select控件美化的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享题目:HTML中select控件美化的示例分析
链接地址:http://bjjierui.cn/article/gieicg.html