Jquery 如何用悬停图标替换已排序的列表号?
我有一个简单的有序列表:Jquery 如何用悬停图标替换已排序的列表号?,jquery,html,css,list,Jquery,Html,Css,List,我有一个简单的有序列表: <ol> <li>one</li> <li>two</li> <li>three</li> </ol> 我需要将2替换为X,并使其可单击 (注意:上面的=表示移动悬停图标,通常为三条水平线。)问题是您无法将有序列表更改为无序列表(只需像这样在运行时将数字替换为X) 取而代之的是一个无序列表,其中的数字在span标记中排列,我们可以将其替换为X(图像/任何您
<ol>
<li>one</li>
<li>two</li>
<li>three</li>
</ol>
我需要将2替换为X
,并使其可单击
(注意:上面的
=
表示移动悬停图标,通常为三条水平线。)问题是您无法将有序列表更改为无序列表(只需像这样在运行时将数字替换为X)
取而代之的是一个无序列表,其中的数字在span标记中排列,我们可以将其替换为X(图像/任何您想要的)。这样就很容易将delete事件绑定到它上面
cssulli{列表样式类型:无;}
<ul>
<li><span>1.</span> one</li>
<li><span>2.</span> two</li>
<li><span>3.</span> three</li>
</ul>
问题是你不能把一个有序的列表变成一个无序的列表(就像那样在运行中把数字换成一个X) 取而代之的是一个无序列表,其中的数字在span标记中排列,我们可以将其替换为X(图像/任何您想要的)。这样就很容易将delete事件绑定到它上面 cssulli{列表样式类型:无;}
<ul>
<li><span>1.</span> one</li>
<li><span>2.</span> two</li>
<li><span>3.</span> three</li>
</ul>
你可以把你的图标放在一个范围内,绝对定位它。那个就把它展示在李的悬停上
您可以将图标放在一个范围内,并绝对定位它。那个就把它展示在李的悬停上
您可以创建一个新的css类来删除项目
li.remove
{
background-image: url(remove.gif);
background-repeat: no-repeat;
background-position: 0 50%;
padding: 3px 0 3px 20px;
margin: .4em 0;
}
然后创建一个悬停事件处理程序,将该类添加到高亮显示的li中
$('ul li').on('hover', function (){
$(this).toggleClass('remove');
}).on('click', function(){
alert($(this).text());
//take some action
})
这是给你一个粗略的想法,你需要根据你的需求调整它,当然还有一个实际的gif,你可以创建一个新的css类来删除一个项目
li.remove
{
background-image: url(remove.gif);
background-repeat: no-repeat;
background-position: 0 50%;
padding: 3px 0 3px 20px;
margin: .4em 0;
}
然后创建一个悬停事件处理程序,将该类添加到高亮显示的li中
$('ul li').on('hover', function (){
$(this).toggleClass('remove');
}).on('click', function(){
alert($(this).text());
//take some action
})
这是给你一个粗略的想法,你需要根据你的需求调整它,当然还有一个实际的gif。有三种很好的方法可以将图像用作列表项目符号:
列表样式图像
替换:悬停
上的项目符号。这种方法的缺点是无法真正定位图像,并且图像大小限制了您的操作
列表样式类型:none
隐藏项目符号,并使用:before
伪元素放置图像。这在IE7上不起作用
有三种将图像用作列表项目符号的好方法:
列表样式图像
替换:悬停
上的项目符号。这种方法的缺点是无法真正定位图像,并且图像大小限制了您的操作
列表样式类型:none
隐藏项目符号,并使用:before
伪元素放置图像。这在IE7上不起作用
这是我正在研究的同一个解决方案,实际的delete仍然有效:这是我正在研究的同一个解决方案,实际的delete仍然有效:这也意味着您必须在更改顺序时更新脚本中的数字。您只需在有序列表中的数字上方放置一个删除图标。。。类似这样:这也意味着在更改顺序时必须更新脚本中的数字。您只需在有序列表中的数字上方放置一个删除图标。。。类似这样的事情:对我来说,选项2是完美的!对我来说,选择2是完美的!
li {
position: relative;
}
li:hover {
list-style-type: none;
}
li:hover:before {
content: '';
width: 50px;
height: 50px;
position: absolute;
top: 50%;
margin-top: -25px;
left: -55px;
background-image: url(x.png);
}
li:hover {
list-style-type: none;
background-image: url(x.png);
background-position: 0 50%;
background-repeat: no-repeat;
margin-left: -55px;
padding-left: 55px;
}