Nothing to say, it’s all in the code.
The rendering is at the bottom.
$(document).ready(function () {
// 找出需要美化的
//先在代码底部增加一个
,用来承载和显示下拉框选项
$("body").append("
");
//挨个美化呗
selects.each(function () {
//给本函数下的 this (也就是 ) 设置一个别名,在下面的匿名函数中将会被用到
var select = this;
//创建一个 , .dummy 将用于我们对此类 进行专门样式定义
//同时将 的部分属性和样式复制给这个 dummy input
//创建完后,将这个 插入 dom, 紧跟原
var input = $("")
.attr("disabled", this.disabled)
.css("width", parseInt(this.style.width) + "px")
.css("display", this.style.display)
.insertAfter(this)
.val(this.options[this.selectedIndex].text);
//将 藏掉,不要在 .beautify 中去定义 display:none, 因为js加载失败时,我们还得用上它
this.style.display = "none";
// 当 被点击时
input.click(function () {
//调出前面创建的
,并清空内容
//将
的样式表传递给它,当需要对这个 进行修饰时,就靠这些样式定义
var div = $("#dummydata")
.empty()
.attr("class", select.className);
//设置
的宽度
//在这里我们判断一个特殊的class名 "extend"
//如果带有 .extend,表示宽度将受额外自定义控制;否则,宽度将默认与
一致
$(select).hasClass("extend")
? div.css("width", "")
: div.css("width", $(this).innerWidth());
//将
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn