我正在尝试根据fiddle中所示的选择加载jQuery插件 JS
$(document).ready(function()
{
$('img').each(function()
{
var th=$(this);
var className=th.prop('class');
var clas=['type1','type2','type3','type4','type5','type6','type7','type8','type9','type10'];
var choice=((jQuery.inArray(className,clas))*1) + 1;
var str="";
var src=th.attr('src');
var titleText=th.attr('alt');
switch(choice)
{
case 1:
alert('fall under Type1')
str = '<a href="' + src + '" class="cloud-zoom" rel="adjustX: 10, adjustY:-4" target="_blank"/>';
th.wrap(''+str+'');
break;
case 2:
str = '<a href="' + src + '" class="cloud-zoom"';
str+= 'rel="'+"position:'inside', showTitle: false, adjustX:-4, adjustY:-4"+'" target="_blank"/>';
th.wrap(''+str+'');
break;
}
if( choice == 1 || choice == 2)
{
$("head").append("<link>");
css = $("head").children(":last");
css.attr({
rel: "stylesheet",
type: "text/css",
href: "http://www.professorcloud.com/styles/cloud-zoom.css"
});
// In the js file method is invoking on domReady, That is why i am calling manually again on call back after wrapping HTML
$.getScript("http://www.professorcloud.com/js/cloud-zoom.1.0.2.js", function(){
$('.cloud-zoom').CloudZoom();
});
}
});
});
HTML
<img src="http://cdn.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/best-jquery/serie3.jpg" class="type4" alt="jghdhefyhe" height="100px" width="130px">
在小提琴方法中,调用是在domReady下编写的。这可能会导致问题,因为我正在包装自定义HTML以使该插件工作。请看看上面的小提琴。
答案 0 :(得分:1)
我认为问题在于您尝试从其他域上的服务器加载脚本。您应该使用$.ajax()并将选项crossDomain
设置为true
。
$.ajax({
url: 'your url',
dataType: "script",
crossDomain: true,
success: function()
});
答案 1 :(得分:0)
您问题的另一个问题是,您的交换机案例中未设置var src
。这会产生一些额外的错误。