我正在尝试使用变量或其他一些 jQuery 技术找到一个解决方案,这将使我能够完全缩短以下代码。
例如,我如何能够将“ptn_”设置为变量/常量并让 jquery 选择数字?
或者,从长远来看,我是否可以只使用几个简单的变量来使事情变得更整洁、更容易?
假设我想添加更多项目,我是否可以简单地添加 HTML 代码,让 jQuery 代码从 CSS 中提取图像并在单击特定 ID 时显示它?
我有点困惑如何解决这个问题,是的,谷歌是你的朋友,不,我在任何地方都没有找到真正的解决方案:P 我希望有人能阐明如何改变这一点。我不指望为我做的工作,只是某种形式的解决方案。
凌乱的jQuery:
.four
是容器
.headercolor
是容器内的标题颜色类。
.patternwrap
单击#ptn_X ID 时将显示模式的主体包裹的div。
这是将更改包含 div 的整个容器的函数。
$(function(){
$('.button-preview').on('click', function() {
$('.mainbody').css('background', 'rgba(0,0,0,0.4)');
$('.four, .headercolor').css('color', '#fff');
})
以下是模式。
$('#ptn_1').on('click', function() {
$('.patternwrap').css('background-image', 'url(images/img/ptn_00001.png)');
})
$('#ptn_2').on('click', function() {
$('.patternwrap').css('background-image', 'url(images/img/ptn_00002.png)');
})
$('#ptn_3').on('click', function() {
$('.patternwrap').css('background-image', 'url(images/img/ptn_00003.png)');
})
$('#ptn_4').on('click', function() {
$('.patternwrap').css('background-image', 'url(images/img/ptn_00004.png)');
})
});
单击时的 HTML 按钮将根据 ID 显示 jquery 选择器:
<div class="button-preview" id="ptn_1">Preview</div>
<!-- Div container displaying the pattern PREVIEW -->
<div class="pattern" id="ptn_00001"></div>
CSS:
#ptn_00001 {background:url(../images/cfpatterns/ptn_00001.png)}
#ptn_00002 {background:url(../images/cfpatterns/ptn_00002.png)}
#ptn_00003 {background:url(../images/cfpatterns/ptn_00003.png)}
#ptn_00004 {background:url(../images/cfpatterns/ptn_00004.png)}
非常感谢。