首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行MagicZoomPlus.stop();导致间歇性错误

运行MagicZoomPlus.stop();导致间歇性错误
EN

Stack Overflow用户
提问于 2014-09-12 23:43:22
回答 1查看 646关注 0票数 1

如果我调用MagicZoomPlus.stop();在活动的magiczooms上,我会经常得到错误:

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 'width' of null

在其他时候,我会得到这个错误:

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 'r' of undefined 

当这种情况发生时,鼠标移动到缩略图上会触发:

代码语言:javascript
复制
Uncaught TypeError: Cannot read property 't16' of null 

我试过..。

  • 在onload事件中调用MagicZoomPlus.stop()
  • 在不同长度的MagicZoomPlus.stop中调用setTimeout ()
  • 测试是否存在MagicZoomPlus.stop()后调用MagicZoomPlus ()
  • 在调用MagicZoomPlus.stop()之前测试图像的宽度/高度
  • 在调用MagicZoomPlus.stop()之前,通过css和属性设置图像的宽度/高度

这里有一个指向jsfiddle的链接,它使用从文档页面上的示例复制的标记:http://jsfiddle.net/sjjju4x4/6/

如果你打开控制台“运行”小提琴,你有时会出错,有时不会。如果你把超时时间缩短到10毫秒,就会发生得更频繁

似乎我无法在没有代码示例的情况下发布文章,下面是小提琴中的JS:

代码语言:javascript
复制
var output = document.getElementById('status');
setTimeout(function () {
    document.getElementById('status').textContent = '...............calling stop';
    MagicZoomPlus.stop();
}, 20);

提前感谢您提供的任何帮助或建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-15 14:22:40

在调用MagicZoom ()之前,请确保MagicZoomPlus.stop实例已经就绪。

可以使用以下URL中描述的“on战备”回调来完成此操作:

https://www.magictoolbox.com/magiczoomplus/integration/#api

下面是一些示例代码:

代码语言:javascript
复制
MagicZoomPlus.options = {
  'onready': function(id, isUpdated) {
     setTimeout(function () {
       document.getElementById('status').textContent = '...............calling stop';
       MagicZoomPlus.stop(id);
     }, 20);
  }
};

下面是一个用来帮助您查看代码的小摆设:

http://jsfiddle.net/pg9f98z0/

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

https://stackoverflow.com/questions/25818441

复制
相关文章

相似问题

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