所以我想说一句话就是" IamGreat"在我的网站上的一个段落中的某个地方,我希望它改为" Good4you"在悬停。但是,我不想改变整个单词,而是希望每个字母单独更改。因此,如果我将鼠标悬停在字母上,我就会#34;它将变成字母" G",字母" r"会变成数字" 4"这两个词的长度相同。如果可能的话,我还想更改正在更改的字母的css(字体颜色,字体变量等)。有没有办法可以使用jQuery或javascript做到这一点?
答案 0 :(得分:2)
span {
font-size: 3em;
position: relative;
}
span:after {
position: absolute;
content: attr(content);
top: 0;
left: 0;
-webkit-transition: all 750ms;
-moz-transition: all 750ms;
-o-transition: all 750ms;
transition: all 750ms;
-webkit-transform-origin: bottom left;
-ms-transform-origin: bottom left;
transform-origin: bottom left;
}
span:hover:after {
-webkit-transform: skew(10deg, 25deg);
-ms-transform: skew(10deg, 25deg);
transform: skew(10deg, 25deg);
}

<span content="H">H</span>
<span content="o">o</span>
<span content="v">v</span>
<span content="e">e</span>
<span content="r">r</span>
&#13;
答案 1 :(得分:0)
我会在jquery中使用这个场景
答案 2 :(得分:0)
也许这会有所帮助:
var doc = document, bod = doc.body;
function E(e){
return doc.getElementById(e);
}
function inArray(value, array){
for(var i=0,l=array.length; i<l; i++){
if(array[i] === value){
return true;
}
}
return false;
}
function wow(string, outputElement, beforeArray, afterArray){
var s = string.split('');
for(var i=0,l=s.length; i<l; i++){
(function(i){
var sp = doc.creatElement('span'), t = s[i];
sp.innerHTML = t;
sp.onmouseover = function(ev){
var e = ev || event;
var rt = e.relatedTarget;
while(rt && rt !== sp){
rt = rt.parentNode;
}
if(rt !== sp && inArray(t, beforeArray) && afterArray[beforeArray.indexOf(t)]){
sp.innerHTML = afterArray[beforeArray.indexOf(t)];
}
}
sp.onmouseout = function(ev){
var e = ev || event;
var rt = e.relatedTarget;
while(rt && rt !== sp){
rt = rt.parentNode;
}
if(rt !== sp){
sp.innerHTML = t;
}
}
outputElement.appendChild(sp);
})(i);
}
}
我创建的wow
功能会自动添加向后兼容的onmouseenter
和onmouseleave
事件。要设置这些范围的样式,您可以sp.className = 'over';
onmouseover
和sp.className = 'default';
onmouseout
,并相应地制作CSS。对于个人样式,您必须向wow
函数添加更多数组。在sp
和this
内,onmouseover
可能也是onmouseout
。
// appends to id='someId'
wow('Just Adding Some Random Text', E('someId'), ['J', 'T'], ['M', 'S']);