关于页面模块,比如以下这种颜色选择模块怎么在同一页面重用?
html:
答案一
文字:
背景色
文字色
透明度:
75%
颜色:
红:
绿:
蓝:
答案二
文字:
背景色
文字色
透明度:
75%
颜色:
红:
绿:
蓝:
javascript:
var color = {
init: function() {
this.initColor();
this.render();
},
render: function(){
var $square = $(".square");
var $squareLi = $square.find("li");
var $coloroption = $(".coloroption");
$squareLi.click(function(){
//获取颜色
var color = $(this).css("backgroundColor");
var rgb=color.replace(/[rgb()\s]/g,'').split(",");
//设置滑块位置
$(".red")[0].value=rgb[0];
$(".green")[0].value=rgb[1];
$(".blue")[0].value=rgb[2];
//设置所选颜色
$(this).addClass("active").siblings().removeClass("active");
$(".bgcolor").hasClass("active")?$("#bgcolorbar").css("background-color",color):$("#fontcolorbar").css("background-color",color);
})
//背景色、文字色选项
$coloroption.click(function(){
$coloroption.removeClass("active");
$(this).addClass("active");
})
$(".rgba").find("input[type=range]").change(function(){
//获取变化后颜色
var red=$(".red")[0].value;
var green=$(".green")[0].value;
var blue=$(".blue")[0].value;
var transparency=$("#opacity")[0].value;
var opacity=Math.round((100-transparency)/10)/10;
var rgba="rgba("+red+","+green+","+blue+","+opacity+")";
//设置颜色和值
console.log(opacity);
$("#transparency").html(transparency+"%")
$(".bgcolor").hasClass("active")?$("#bgcolorbar").css("background-color",rgba):$("#fontcolorbar").css("background-color",rgba);
})
},
initColor: function() {
var color = ["fff", "000", "595959", "f14646", "e95731", "f6bb43", "8cc051", "3baeda", "36bc9b", "3baeda", "967bdc", "f22874", "abda3b", "7bdcab", "6a37ee", "3bda5d", "36bc9b", "40535a", "503b87", "7cd0f0", "da3bb3"];
$.each(color.reverse(), function(index, value) {
var $li = $("");
$li.css({
"background-color": "#" + value,
}).prependTo(".square ul")
});
//初始化透明度
$("#opacity")[0].value = 0;
$("#opacity").prev().html("0%")
//初始化颜色值
$(".red")[0].value=255;
$(".green")[0].value=255;
$(".blue")[0].value=255;
//初始化所选颜色
$(".square").find("li").eq(0).addClass("active")
},
}
color.init()
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果 HTML 已经存在了,可以用 jQuery 的 Clone,示例如下
https://jsfiddle.net/v0xhhves/
不过,注意 ID 需要唯一,所以要么在产生 HTML 的时候就不要ID,要么在 clone DOMS 之后修改ID
用面向对象和编程的思路写成类。
谢谢邀请。其实就是把这个模块单独提取出来封装成公共的引用。你可以把对应的色块写成一个小文件引用,或者写成一个
js的方法引用。都可以的。仅提供思路希望能帮到你