jQuery में hasClass () फ़ंक्शन है जो लिपटे सेट में किसी भी तत्व को निर्दिष्ट वर्ग रखता है, तो यह सही है
if (!$(this).hasClass("selected")) {
//do stuff
}
मेरे उपयोग के उदाहरण पर एक नज़र डालें
- यदि आप एक div पर मंडराते हैं, तो यह सामान्य गति के रूप में 100% अस्पष्टता के रूप में बढ़ता है यदि div में 'चयनित' क्लास नहीं है
- यदि आप एक डिव से बाहर निकलते हैं, तो यह धीमी गति से 30% अस्पष्टता से भरता है यदि डिव में 'चयनित' वर्ग नहीं है
- बटन पर क्लिक करने से 'div' श्रेणी लाल div में जुड़ जाती है। लुप्त होती प्रभाव अब लाल div पर काम नहीं करता है
यहाँ इसके लिए कोड है
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<title>Sandbox</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { background-color: #FFF; font: 16px Helvetica, Arial; color: #000; }
</style>
<!-- jQuery code here -->
<script type="text/javascript">
$(function() {
$('#myButton').click(function(e) {
$('#div2').addClass('selected');
});
$('.thumbs').bind('click',function(e) { alert('You clicked ' + e.target.id ); } );
$('.thumbs').hover(fadeItIn, fadeItOut);
});
function fadeItIn(e) {
if (!$(e.target).hasClass('selected'))
{
$(e.target).fadeTo('normal', 1.0);
}
}
function fadeItOut(e) {
if (!$(e.target).hasClass('selected'))
{
$(e.target).fadeTo('slow', 0.3);
}
}
</script>
</head>
<body>
<div id="div1" class="thumbs" style=" background-color: #0f0; margin: 10px; padding: 10px; width: 100px; height: 50px; clear: both;">
One div with a thumbs class
</div>
<div id="div2" class="thumbs" style=" background-color: #f00; margin: 10px; padding: 10px; width: 100px; height: 50px; clear: both;">
Another one with a thumbs class
</div>
<input type="button" id="myButton" value="add 'selected' class to red div" />
</body>
</html>
संपादित करें:
यह सिर्फ एक अनुमान है, लेकिन क्या आप ऐसा कुछ हासिल करने की कोशिश कर रहे हैं ?
- दोनों डिवीजन 30% अस्पष्टता से शुरू होते हैं
- 100% अपारदर्शिता के लिए एक दिव्य कवच पर मँडराते हुए, 30% अपारदर्शिता पर वापस मँडरा जाता है। फीका प्रभाव केवल उन तत्वों पर काम करता है जिनके पास 'चयनित' वर्ग नहीं है
- एक div क्लिक करने से 'चयनित' वर्ग जुड़ जाता है / निकल जाता है
jQuery कोड यहाँ है-
$(function() {
$('.thumbs').bind('click',function(e) { $(e.target).toggleClass('selected'); } );
$('.thumbs').hover(fadeItIn, fadeItOut);
$('.thumbs').css('opacity', 0.3);
});
function fadeItIn(e) {
if (!$(e.target).hasClass('selected'))
{
$(e.target).fadeTo('normal', 1.0);
}
}
function fadeItOut(e) {
if (!$(e.target).hasClass('selected'))
{
$(e.target).fadeTo('slow', 0.3);
}
}
<div id="div1" class="thumbs" style=" background-color: #0f0; margin: 10px; padding: 10px; width: 100px; height: 50px; clear: both; cursor:pointer;">
One div with a thumbs class
</div>
<div id="div2" class="thumbs" style=" background-color: #f00; margin: 10px; padding: 10px; width: 100px; height: 50px; clear: both; cursor:pointer;">
Another one with a thumbs class
</div>