ठीक है, मैं वहाँ के रूप में अपने कोड के कुछ भागों थे एक जवाब पद का फैसला किया कि मैं संबोधित करना चाहता था।
सबसे पहले, return false;
अंत में करने के बजाय, आप jQuery event.preventDefault();
फ़ंक्शन का उपयोग कर सकते हैं। अंतिम परिणाम मूल रूप से वही है, हालांकि यह इस तरह से कर रहा है कि हम किसी भी अन्य कोड को चलाने से पहले, एंकर को बहुत शुरुआत में कुछ भी करने के लिए बताने के लिए jQuery का उपयोग नहीं कर सकते।
मेरे अद्यतन Javascript कोड:
$('.source-title-box a').click(function(event) {
// Stop the default anchor behaviour
event.preventDefault();
// Lets check if the clicked link is already active
// And if it is active, don't let them click it!
if($(this).closest('div').hasClass('active')) {
return false;
}
// Now lets remove any active classes that exist
$('.active').toggleClass('active');
// And apply an active class to the clicked buttons
// parent div
$(this).closest('div').toggleClass('active');
var region = $(this).attr('data-region');
$('.textzone:visible').fadeOut(500, function() {
$('#' + region).fadeIn(500);
});
});
सीएसएस मैं कहा:
.active {
background-color:#467FD9;
color:#fff;
}
.active a {
cursor:default; /* Don't show the hand cursor */
color:#fff;
}
एक कार्य उदाहरण:
http://jsfiddle.net/dmvcQ/3/
मुझे यकीन है कि नहीं कर रहा हूँ अगर वर्तमान HTML मार्कअप के मन में कुछ अन्य उद्देश्य है, लेकिन वर्तमान शैलियों और functionali Ty सिर्फ एक <a href="#" data-region="source-region">Our region</a>
आप उन्हें एक <div>
और एक <span>
में रैप करने के लिए की जरूरत नहीं है के साथ प्राप्त किया जा सकता है।
उदाहरण यहाँ के लिए, एक ही कोड है सिर्फ लंगर टैग के साथ: http://jsfiddle.net/dmvcQ/7/
मुझे पता है कि तुम जवाब के बारे में कोई प्रश्न हैं करते हैं।
कृपया यह क्यों बेहतर जवाब के लिए downvoted है लिखें। –
धन्यवाद - यह बढ़िया काम करता है! डिफ़ॉल्ट रूप से हाइलाइट किया गया पहला बटन रखने का कोई तरीका है? (चूंकि दाईं ओर स्थित टेक्स्ट ज़ोन दिखाई देता है, इससे लोगों को यह समझने में मदद मिलेगी कि प्रत्येक बटन टेक्स्ट ज़ोन से जुड़ा हुआ है) – Greg
@ ग्रेग मैंने अपना उत्तर साथी अपडेट किया है, आप इन सीएसएस मानों को कक्षा या आईडी में असाइन कर सकते हैं, और removeClass का उपयोग कर सकते हैं/addClass विधियों लेकिन आपने पूछा कि jQuery के साथ सीएसएस कैसे बदलें, इसलिए मैंने इस तरह उत्तर दिया। –