我试图找到一个解决方案,使用变量或其他jQuery技术,将允许我完全缩短以下代码。如何使用变量缩写这个jQuery代码?
例如,我将如何能够将“ptn_”设置为变量/常量并让jquery选择数字?
或者,我可以使用一些简单的变量来使事情更加整洁和容易吗?
说如果我想添加更多的项目,我只需要添加HTML代码,并让jQuery代码从CSS中提取图片并在点击特定ID时显示它?
我有点困惑如何去解决这个问题,是的,Google是你的朋友,不,我没有找到一个真正的解决方案:P我希望有人可以阐明如何改变这一点。我不期望这项工作为我做什么,只是某种形式的解决方案。
的凌乱的jQuery:
.four
是对容器
.headercolor
在容器内的报头的颜色类。
.patternwrap
身体包裹的div是否会在点击#ptn_X ID时显示图案。
这是将改变容纳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)}
非常感谢。
感谢您的回答!伟大的解决方案,现场配合。再次感谢一堆! – user1470037