【问题标题】:vs_ajax extenstion In fancybox Jquery Issue in magento error is : jQuery(...).fancybox is not a functionvs ajax 扩展在 fancybox Jquery Magento 错误中的问题是:jQuery(...).fancybox is not a function
【发布时间】:2014-08-16 05:09:49
【问题描述】:

vs_ajax 扩展在magento 中的fancybox Jquery 问题

显示错误

: jQuery(...).fancybox 不是函数

onComplete: 函数(){

什么类型的问题我无法理解。

jQuery(document).ready(function(){
    jQuery('.fancybox').fancybox(
        {
           hideOnContentClick : true,
           width: 382,
           autoDimensions: true,
           type : 'iframe',
           showTitle: false,
           scrolling: 'no',
           onComplete: function(){
            jQuery('#fancybox-frame').load(function() { // wait for frame to load and then gets it's height
                jQuery('#fancybox-content').height(jQuery(this).contents().find('body').height()+30);
                jQuery.fancybox.resize();
             });

           }
        }
    );
});
function showOptions(id){
    jQuery('#fancybox'+id).trigger('click');
}
function setAjaxData(data,iframe){
    if(data.status == 'ERROR'){
        alert(data.message);
    }else{
        if(jQuery('.block-cart')){
            jQuery('.block-cart').replaceWith(data.sidebar);
        }
        if(jQuery('.header .links')){
            jQuery('.header .links').replaceWith(data.toplink);
        }
    jQuery.fancybox.close();
    }
}
function setLocationAjax(url,id){
    url += 'isAjax/1';
    url = url.replace("checkout/cart","ajax/index");
    jQuery('#ajax_loader'+id).show();
    try {
        jQuery.ajax( {
            url : url,
            dataType : 'json',
            success : function(data) {
                jQuery('#ajax_loader'+id).hide();
                setAjaxData(data,false);           
            }
        });
    } catch (e) {
    }
}

vs_ajax 扩展在magento 中的fancybox Jquery 问题

显示错误

: jQuery(...).fancybox 不是函数

onComplete: 函数(){

什么类型的问题我无法理解。

【问题讨论】:

  • 一定要包含fancybox所需的js文件。
  • 我包含了fancybox jquery。并在查看源代码上进行检查。它被包括在内。
  • 你用的是哪个jquery和fancybox版本???
  • 使用了jquery.fancybox-1.3.4.js Fancy box,使用了jquery-1.6.4.min.js。
  • 我得到了一些东西。我看到两个 jquery jquery-1.6.4.min.js 另一个是 jquery-1.11.1.min.js 但我是 Jquery no.confilict js。

标签: javascript jquery magento fancybox


【解决方案1】:

看看这些问题:-

1.) 使用适当版本的 jquery 文件(使用哪个 jquery 版本,请参见花式框的文档)

2.) 避免使用多个版本的相同 jquery 文件或避免两次包含单个 js 文件。

3.) 只需检查包含的 js 文件的顺序,首先包含 jquery 文件,然后是 fancybox js 文件。

4.) 如果您在一个页面上使用许多 jquery 文件,请使用$.noConflict()(以避免不同 js 文件之间的冲突)。

在此处查看完整文档:-http://api.jquery.com/jquery.noconflict/

【讨论】:

  • 没错,我使用 xml 添加了 jquery-1.11.1.min.js magento 侧边栏。其他 js 安装 Vs_ajax 扩展。我该如何管理 jquery
  • @JaydipsinhParmar...只包含最新的 jquery-1.11.1 min.js 文件并删除其他较低版本的 jquery 文件..
  • 我没有添加 Jquery 1.6.4,我添加了最新的 1.11.1,但它将包含在 magento 中的 Vs_ajax 扩展中。我在做什么?
  • @JaydipsinhParmar...对不起,但我没有在磁电机工作过...如果它正在添加 jquery-1.6.4,那么不要包括 jquery 1.11.1,因为 fancybox 可以与 jquery-1.6 一起使用.4 还...
  • 我是 reomve jquery 1.11.1 但在 onComplete 中出现同样的错误:function(){ 这里显示错误
猜你喜欢
  • 2016-04-15
  • 2018-07-17
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
相关资源
最近更新 更多