jQuery attr() 更改 img src

2024-03-03

我正在用 jQuery 制作一些火箭发射效果。当我点击火箭时,它会与另一个火箭图像交换,然后发射。当我单击“重置”链接时,Rocket 必须重置起始位置,并且图像必须恢复原状。但有两个问题。首先,“我的火箭图像不会恢复”。其次 - 在它恢复到初始位置后,如果我再次单击火箭,它不会启动。你能看到并找到我的解决方案吗?

http://jsfiddle.net/thisizmonster/QQRsW/ http://jsfiddle.net/thisizmonster/QQRsW/

$("#resetlink").click(function(){
    clearInterval(timerRocket);
    $("#wrapper").css('top', '250px');
    $("#rocket").attr('src', 'http://www.kidostore.com/images/uploads/P-SAM-rocket-blk.jpg');
});

您可以看到 $("rocket").attr() 行。


您可以在此处删除原始图像:

newImg.animate(css, SPEED, function() {
    img.remove();
    newImg.removeClass('morpher');
    (callback || function() {})();
});

剩下的就是newImg。然后您使用重置链接引用图像#rocket:

$("#rocket").attr('src', ...

但你的newImg没有id属性更不用说id of rocket.

要解决此问题,您需要删除img然后设置id的属性newImg to rocket:

newImg.animate(css, SPEED, function() {
    var old_id = img.attr('id');
    img.remove();
    newImg.attr('id', old_id);
    newImg.removeClass('morpher');
    (callback || function() {})();
});

然后你会再次得到闪亮的黑色火箭:http://jsfiddle.net/ambigously/W2K9D/ http://jsfiddle.net/ambiguous/W2K9D/

UPDATE:更好的方法(如 mellamokb 所指出的)是隐藏原始图像,然后在按下重置按钮时再次显示它。首先,将重置操作更改为如下所示:

$("#resetlink").click(function(){
    clearInterval(timerRocket);
    $("#wrapper").css('top', '250px');
    $('.throbber, .morpher').remove(); // Clear out the new stuff.
    $("#rocket").show();               // Bring the original back.
});

并且在newImg.load函数,抓取图像原始大小:

var orig = {
    width: img.width(),
    height: img.height()
};

最后,完成变形动画的回调变成这样:

newImg.animate(css, SPEED, function() {
    img.css(orig).hide();
    (callback || function() {})();
});

新的和改进的:http://jsfiddle.net/ambiguously/W2K9D/1/ http://jsfiddle.net/ambiguous/W2K9D/1/

的泄漏$('.throbber, .morpher')插件之外并不是最好的事情,但只要有记录就没什么大不了的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery attr() 更改 img src 的相关文章

  • JQuery _renderItem 没有被调用

    我正在尝试使用 renderItem 函数创建自定义 ui menu item 元素 但经过可能尝试后 我什至无法调用该函数 自动完成功能正在工作 但就像 renderItem 函数不存在一样 这是我的脚本部分
  • 识别http链接并创建锚标记

    我正在尝试解析一些字符串 它嵌入了一些 http 链接 我想使用 jquery 在此字符串中动态创建锚标记 然后将它们显示在前端 以便用户可以单击它们 有没有办法做到这一点 Thanks 你可以这样做 function get the st
  • JQuery Mobile - 内联显示 HTML 表单

    Goal 在 Jquery Mobile 中的同一行显示文本框和提交按钮 Problem 它们不会显示在同一行 我曾多次尝试在同一行显示文本框和提交按钮 但它从未起作用 这是我的代码和我使用的组合
  • 如何使用 jQuery 和 .ajax 方法发送数组而不转义括号?

    我试图发送具有多个值的相同参数名称 但即使在阅读了 SO 上的帖子后也无法弄清楚如何做到这一点 我想要一个数组destination input var myObject search zip params search zip searc
  • 有什么方法可以在 Django 中序列化分页对象吗?

    我正在使用 Django 分页和 jQuery 我可以序列化分页对象的对象列表 但我想序列化整个对象以获取更多数据 页码 总页数 如何序列化整个分页对象 Thanks javascript function getRestaurants q
  • 使用 jQuery 选择焦点文本在 Safari 和 Chrome 中不起作用

    我有以下 jQuery 代码 类似于这个问题 https stackoverflow com questions 480735 在 Firefox 和 IE 中工作 但在 Chrome 和 Safari 中失败 没有错误 只是不起作用 有解
  • 使用 Eclipse 创建新的 android 项目后,Eclipse 中的 SRC 文件夹为空(未创建 MainActivity 类)

    使用 Eclipse 创建新的 android 项目后 Eclipse 中的 SRC 文件夹为空 未创建 MainActivity 类 我使用 Eclipse 创建了一个新的 android 项目 但我在项目资源管理器中看到 SRC 文件夹
  • jQuery 画廊用下一个和上一个按钮翻转

    我正在尝试用 jQuery 做某种 Gallery Turn Over 脚本 因此我得到了一个数组 比方说 13 图像 galleryImages new Array images tb 01 jpg images tb 02 jpg im
  • JSON字符串转JS对象

    我正在使用 JS 对象通过 Google 可视化创建图表 我正在尝试设计数据源 首先 我在客户端创建了一个 JS 对象 var JSONObject cols id date label Date type date id soldpenc
  • 使用 fadeIn() 时,jQuery“未捕获类型错误:未定义不是函数”;

    我是 JS 新手 正在编写一个基本的富含 jQuery 的网页 其中同一文档中的每个页面都具有淡入 淡出功能 使用具有单独 ID 的相同 div 元素 无论如何 当我尝试淡入当前页面时 我收到错误 未捕获的类型错误 未定义不是函数 我在网上
  • 按住鼠标时 JavaScript 重复动作

    是否有一个 JavaScript 函数每隔如此多的毫秒重复一次 以至于按住 html 按钮 如果这可以使用标准 JavaScript 来完成 那就太好了 但使用 jQuery 或 jQuery 插件也很棒 On the mousedown
  • jQuery 单击位于另一个 div 之上的 div

    我的 jQuery 有问题click当选择器是 a 时div那是在另一个之上div正如这里所看到的 the html div div div div css parent background color red width 100px h
  • 使用 PHP 上传、调整图像大小并裁剪图像中心

    我想要创建一个非常非常基本的上传 调整大小和裁剪 PHP 脚本 其功能与 Twitter 用于上传头像图片的方法相同 无论如何我最后检查过 我希望脚本拍摄任何尺寸的图像 将最短边的大小调整为 116 像素 然后裁剪顶部和底部 如果是横向 则
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • jquery 验证最小长度规则不起作用

    我有一个带有密码字段的表单 密码长度必须至少为 8 个字符
  • AngularJS 与(Angular JS + jQuery)

    我有一个关于仅使用 AngularJS 和纯 JavaScript 以及使用 AngularJS 和 jQuery 时的性能问题 ex app directive fitHeight function window return restr
  • 表格不会提交

    我的 jquery mobile modernizr 网站上有一个表单 我正在使用 jquery mobile 的 1 1 0 rc 1 我的页面上有此表单 但它没有提交 单击搜索按钮绝对不会执行任何操作 我不知道为什么 有任何想法吗 p
  • 显示对象内容 - JS/jQuery

    With this data events 返回 object Object 我需要看看里面到底发生了什么 我找到了这个 var Finder each this data events function i n Finder Name i
  • jQuery翻译+切换,如何链接两者?

    我目前正在开发一个 jQuery 脚本 它将把网站的文本翻译成外语 我正在为此使用 Google Translate API 我希望该页面包含一个显示 En Espanol 的链接 当用户单击 En Espanol 时 页面正文会被翻译成西
  • 使用 Javascript 删除字符串的最后一个字符

    我有一个DIV与一些字符 如何在每次单击时删除文本中的最后一个字符DIV itself 删除第一个字符 div on click function this text function index text return text repl

随机推荐

  • Django 1.9 import_module 的导入错误

    当尝试运行任一runserver or shell using manage py我得到一个ImportError例外 我正在使用 Django 1 9 ImportError No module named django utils im
  • Android安装-sdk manager.exe不起作用

    我从developer android com安装了适用于Windows的android SDK installer r08 windows exe 我安装到默认位置 C Program Files Android android sdk
  • Java Spring Boot 的 Docker 基础镜像(`FROM`)是什么?

    什么 Docker 基础镜像 FROM 对于 Java Spring Boot 应用程序 我刚刚开始使用 docker 我看到了FROM inside Dockerfile可以为Java定义图像 例如 FROM java 8 如果我使用 G
  • 405 不允许的方法

    我试图访问https api box com 2 0 files但我收到Expected status code in 200 299 got 405在我的回复中 来自 AFNetworking 在发送请求之前 我已从服务器获取了我的 au
  • Spring Security Oauth2 AuthenticationSuccessEvent 在每个请求时发布

    我正在使用 Spring Security Oauth2 来保护我的 Spring Boot REST 应用程序 我想在用户登录成功和失败后处理一些操作 问题是每个 当我使用用户不记名令牌发送请求时 AuthenticationSucces
  • 如何在Python中使用JSONDecoder?仅获取内部字典进行解码

    我有一个 JSONEncoder 和 JSONDecoder class SimpleTargetJSONEncoder json JSONEncoder converts a SimpleTarget to a Dict so it ca
  • 对象不支持张量流中的项目分配

    在之前的简单程序中 我无法执行简单的任务并收到以下错误 import tensorflow as tf x 1 tf constant 1 2 3 x 1 tf reshape x 1 shape 1 3 x 2 tf constant 2
  • SQLite UTF-8 编码

    我尝试运行脚本 read FILE 具有 UTF 8 字符串 我使用了 pragma 命令 PRAGMA encoding UTF 8 但我得到了错误的字符 如果我自己创建表并插入值 则一切正常 我应该怎么做才能正确运行脚本 顺便说一下 我
  • JMSi18nRoutingBundle 语言选择器

    我已经实现了以下语言切换器 ul if path app request attributes get route li a href ES a li li a href EN a li li a href IT a li else ul
  • 返回 32(或 64)位的 python 哈希函数

    我正在寻找一个返回 32 或 64 位的哈希函数 我尝试了 hashlib 中的 md5 例如 import hashlib hashlib md5 b H hexdigest gives c1d9f50f86825a1a2302ec244
  • jQuery的append()与appendChild()

    这是一些示例代码 function addTextNode var newtext document createTextNode Some text added dynamically var para document getEleme
  • 集成appodeal时出现重复输入错误

    error 错误 任务 app transformClassesWithJarMergingForDebug 执行失败 com android build api transform TransformException java util
  • 从 Class[A] 获取 TypeTag[A]

    I have createOld我需要重写并且无法更改它的方法 我想用TypeTag模式匹配提供的类型createNew 目标是找出如何调用createNew from createOld 我目前的理解是编译器没有足够的类型信息A in c
  • MFC winMain 如何最终进入可执行文件?

    In MFC wWinMain定义于appmodul cpp 据我所知 该文件内置于 mfc90ud dll 中 但是 当我运行我的应用程序时 调用堆栈显示MyApplication exe wWinMain 它是如何采取的wWinMain
  • 通过 Nestjs 从 url 下载图像

    我想从电报帐户下载用户个人资料图片 并使用 Nestjs 框架将其存储在本地存储中 Controller export class Controller constructor private readonly httpService Ht
  • turfjs可以提供地理坐标和应用程序坐标之间的坐标转换吗

    我需要从地理坐标系统到另一个坐标系统的转换 我认为最明显的方法是给出系统的两个边界框 因此 如果我有一个经 纬度坐标的地理 bbox 以及一个与之对应但在我自己的坐标中的非地理 bbox 我想要一个可以将地理到我和我到地理转换的 xfm 我
  • 让 JTextPane 根据内容调整高度

    我想得到一个JTextPane根据我喂它的内容来调整它的高度 我所能做的就是使用 Dimension 设置固定的像素高度 我该如何制作JTextPane折叠 展开以便它适合内容 我可能会补充一点 我在一个GridBagLayout ed J
  • 张量流中 LSTM 的正则化

    Tensorflow 提供了一个很好的 LSTM 包装器 rnn cell BasicLSTM num units forget bias 1 0 input size None state is tuple False activatio
  • 使用 Swashbuckle Aspnetcore 将 `host`、`basePath` 和 `schemes` 添加到 swagger.json

    我正在使用官方文档分步方法来配置 Swagger UI 并在我的 ASP NET core API 应用程序中生成 Swagger JSON 文件 如果我查看生成的 swagger json 文件 它缺少三个重要属性host basePat
  • jQuery attr() 更改 img src

    我正在用 jQuery 制作一些火箭发射效果 当我点击火箭时 它会与另一个火箭图像交换 然后发射 当我单击 重置 链接时 Rocket 必须重置起始位置 并且图像必须恢复原状 但有两个问题 首先 我的火箭图像不会恢复 其次 在它恢复到初始位