我试图重置闪存内容在我的滑块驱动的jQuery循环插件。
我想做的是:
我知道这听起来很愚蠢,但这是一种令人惊奇的方法来重置工作闪存内容,最好的替代方法(删除和附加)会导致很多样式问题,而且我不想使用任何swfobject.js和其他API。当然,躲藏也不是一个选择。
使用循环插件提供的"after“回调功能,一切都很完美,但不知怎么的,我无法检索原始的.flash内容,回调函数的最后一行根本什么也不做,.flash被永久地替换为空div:
jQuery("#slider").cycle({
after: callbackAfter,
});
function callbackAfter(){
var FlashContent = jQuery(this).prev('.slide').find('.flash'); //find any flash content in previous slide
var FlashContentHolder = jQuery("<div></div>"); //place empty div instead
FlashContent.replaceWith(FlashContentHolder ); //replace the flash content with empty div
FlashContent.replaceWith(FlashContent); //This doesn't work - replace the empty div with stored flash content
}问题是不显示原始FlashContent.的最后一行。
我试图将FlashContent & FlashContentHolder变量从函数中设置为更改作用域,但这不是重点,我想第一行是问题所在,因为我要删除一些东西,然后搜索它,所以我没有得到任何回报?
这个函数可以正常工作,并能完全满足我的需要(但不能在原始位置显示.flash视频,也不能使用绝对定位):
function callbackAfter(){
var stopFlash = jQuery(this).prev('div').find('.flash').remove();
jQuery(this).prev('div').append(stopFlash);
}这实际上适用于小问题(见上文).
有什么想法吗?
发布于 2012-01-04 19:44:24
在你打电话后
FlashContent.replaceWith(FlashContentHolder);FlashContent不再存在于DOM树中,所以您不能用其他任何东西来替换它。您可能希望将最后一行更改为:
FlashContentHolder.replaceWith(FlashContent);https://stackoverflow.com/questions/8732892
复制相似问题