我試圖找到一個解決方案,使用變量或其他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