问题描述
解决方案
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<style>ul li.focus,ul li:hover{background:#f00;color:#fff}</style>
<ul id="ul">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<script>
$(function () {
var lis=$('#ul li'),focusLI,index,len=lis.length,up;
$(document).keydown(function (e) {
if (e.keyCode == 38 || e.keyCode == 40) {
focusLI = lis.filter('.focus');
up = e.keyCode == 38;
if (focusLI.length == 0) index = up ? len - 1 : 0;
else {
index = focusLI.index();
up ? index-- : index++;
if (index < 0) index = len - 1; else if (index >= len) index = 0;
}
lis.removeClass('focus').eq(index).addClass('focus')
}
});
});
</script>
解决方案二:
很简单啊,添加JS鼠标点击或移入事件,改变样式就行。
类似 然后在该Li内添加一个鼠标移入移出事件
/* 切换css样式 */
function changeCssNew(self) {
$(self).css("color", "red");
}
当然这个需要改动,但具体思路就是这个样子,点击或者移入事件而以。
解决方案三:
首先设置两个class样式比如样式class1与class2,分别设置两种颜色;然后设置鼠标mouseover事件function,再在function中根据获取的class名称进行判断,
juery的removeClassa与addClass切换样式
时间: 2024-10-30 06:43:07