我正在用 PHP 制作一个简单的日历应用程序,我想<td>
根据用户的操作更改块样式。但是我希望当“menuclick”类打开时,其他类停止工作,直到我单击另一个块。前一个块也应该关闭。提前致谢。
echo'<td onclick=className="menuclick"; onmouseover=className="menuon"; onmouseout=className="menuoff";>' . $countDay++ . "</td>"
我正在用 PHP 制作一个简单的日历应用程序,我想<td>
根据用户的操作更改块样式。但是我希望当“menuclick”类打开时,其他类停止工作,直到我单击另一个块。前一个块也应该关闭。提前致谢。
echo'<td onclick=className="menuclick"; onmouseover=className="menuon"; onmouseout=className="menuoff";>' . $countDay++ . "</td>"
我们来看看http://api.jquery.com/addClass/
$("#menuItemId").addClass(function(index, currentClass) {
var addedClass;
if ( currentClass === "menuon" ) {
addedClass = "menuoff";
alert("menu has class "+addedClass+" now");
}
return addedClass;
});
如果你想删除一个类或某些“状态”:http ://api.jquery.com/removeClass/
希望这可以帮助。
好吧,如果你想内联,它有点复杂。我宁愿使用 jQuery 并做这样的事情:
HTML:
<td class="menuClickable">Whatever...</td>
Javascript:
$(document).load(function() {
$('.menuClickable').click(function() {
$(this).removeClass('menuon');
$(this).addClass('menuClick');
});
});
当然,这只是快速和肮脏的版本......
我认为您可以使用以下方法实现您想要的:
echo '<td onclick="this.className=\'menuclick\';" onmouseover="this.className=\'menuon\';" onmouseout="this.className=\'menuoff\';">'
好像每个人都在给出一个 jquery 答案,而 jbabey 正在抱怨内联 js:
$('td').each(function() {
$(this).mouseenter(function() {
$(this).removeClass().addClass('menuon');
});
$(this).mouseleave(function() {
$(this).removeClass().addClass('menuoff');
});
$(this).click(function() {
$(this).removeClass().addClass('menuclick');
});
});