首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Onmouseover恢复为原始文本

Onmouseover恢复为原始文本
EN

Stack Overflow用户
提问于 2013-01-17 04:25:16
回答 3查看 872关注 0票数 1

因此,我将onmouseover应用到了安吉丽娜·朱莉的图像上,以便更改上面显示为“一些样本文本”的元素的文本。我如何才能使它恢复到原文,即"Your Daily dose of Contrabang“。提前感谢您的帮助。Jsfiddle在这里http://jsfiddle.net/cntra/VSCXy/9/

HTML:

代码语言:javascript
复制
<div class="columa">     
<div id="text-display">
<span id="targetElm">Your Daily Dose of Contrabang</span>
</div>

<div class="morphing-tinting">
<a href="#" class="changeTextClass" rel="targetElm|some sample text">
<span class="image-wrap" style="position:relative; left: 0px; top:0; display:inline-block;        
background:url
(http://www.howmuchdotheyweigh.com/wp-content/uploads/2011/02/angelina-jolie.jpg)
 no-repeat center center; width: 250px; height: 250px;">
</span></a>

CSS:

代码语言:javascript
复制
  #text-display
 {top:; position: relative;
 display:inline-block;padding:5px 10px; 
 font-family: sans-serif; font-weight:bold; font-size:50px; 
 color: white; text-align: center; line-height: 1.2em;margin:0px;   
 background-color:#E94F78;}


.morphing-tinting .image-wrap {
position: absolute;

-webkit-transition: 1s;
-moz-transition: 1s;
transition: 1s;

-webkit-border-radius: 30em;
-moz-border-radius: 30em;
border-radius: 30em;
}

.morphing-tinting .image-wrap:hover{
-webkit-border-radius: 30em;
-moz-border-radius: 30em;
border-radius: 30em;
}

JS

代码语言:javascript
复制
$('.changeTextClass').hover(function(){
    var elmData = $(this).attr('rel').split('|');
    $('#'+elmData[0]).text(elmData[1]);
});

    var elmData,origText;
$('.changeTextClass').hover(function(){
    elmData = $(this).attr('rel').split('|');
    origText = $('#'+elmData[0]).text();
    $('#'+elmData[0]).text(elmData[1]);
 }, function(){
    $('#'+elmData[0]).text(origText);
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-17 04:40:55

您可以缓存原始文本并使用handlerOut回调将文本设置回原始文本。

代码语言:javascript
复制
.hover( handlerIn(eventObject), handlerOut(eventObject) )

所以,在准备好的DOM中,我会这样做:

代码语言:javascript
复制
$(document).ready(function()
{
  var originalText = $('#targetElm').text();

  $('.changeTextClass').hover(
    function() {
      var elmData = $(this).attr('rel').split('|');
      $('#targetElm').text(elmData[1]);
    },
    function() {
      $('#targetElm').text(originalText);
    }
  );
});
票数 1
EN

Stack Overflow用户

发布于 2013-01-17 04:31:06

你的小提琴工作得很好,你所拥有的就是旧的悬停,它正在破坏新的效果。看:http://jsfiddle.net/VSCXy/10/ (请注意,我删除了安吉丽娜,因为她是NSFW)

更新js部分:

代码语言:javascript
复制
var elmData,origText;
$('.changeTextClass').hover(function(){
    elmData = $(this).attr('rel').split('|');
    origText = $('#'+elmData[0]).text();
    $('#'+elmData[0]).text(elmData[1]);
 }, function(){
    $('#'+elmData[0]).text(origText);
});
票数 1
EN

Stack Overflow用户

发布于 2013-01-17 04:36:03

将您的脚本更改为以下内容:

代码语言:javascript
复制
var elmData,origText;
$('.changeTextClass').hover(function(){
    elmData = $(this).attr('rel').split('|');
    origText = $('#targetElm').text();
    $('#'+elmData[0]).text(elmData[1]);
 }, function(){
    $('#'+elmData[0]).text(origText);
});

您删除了第一个悬停函数,并在第二个函数中更改了origText的内容和所有想要的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14367170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档