我的代码出现问题。我对JavaScript几乎一无所知,所以任何帮助都会非常感激。
我想在这个褪色的滑块(只有三张图片,但每个链接不同的链接)中制作横幅和照片链接到网站上的页面。我无法弄清楚如何做到这一点。
这是指向该网站的链接,以便您可以看到我尝试做的事情, http://www.buildings4babies.org
这是我目前的剧本。
(function($) {
$.fn.aToolTip = function(options) {
// setup default settings
var defaults = {
clickIt: true,
closeTipBtn: 'aToolTipCloseBtn',
fixed: false,
inSpeed: 200,
outSpeed: 0,
tipContent: '',
toolTipClass: 'aToolTip',
xOffset: 5,
yOffset: 5
},
// This makes it so the users custom options overrides the default ones
settings = $.extend({}, defaults, options);
return this.each(function() {
var obj = $(this);
// Decide weather to use a title attr as the tooltip content
if(obj.attr('title')){
// set the tooltip content/text to be the obj title attribute
var tipContent = obj.attr('title');
} else {
// if no title attribute set it to the tipContent option in settings
var tipContent = settings.tipContent;
}
// check if obj has a title attribute and if click feature is off
if(tipContent && !settings.clickIt){
// Activate on hover
obj.hover(function(el){
obj.attr({title: ''});
$('body').append("<div class='"+ settings.toolTipClass +"'><p class='aToolTipContent'>"+ tipContent +"</p></div>");
$('.' + settings.toolTipClass).css({
position: 'absolute',
display: 'none',
zIndex: '50000',
top: (obj.offset().top - $('.' + settings.toolTipClass).outerHeight() - settings.yOffset) + 'px',
left: (obj.offset().left + 1/2*(obj.outerWidth()) + settings.xOffset) + 'px'
})
.stop().fadeIn(settings.inSpeed);
},
function(){
// Fade out
$('.' + settings.toolTipClass).stop().fadeOut(settings.outSpeed, function(){$(this).remove();});
});
}
// Follow mouse if fixed is false and click is false
if(!settings.fixed && !settings.clickIt){
obj.mousemove(function(el){
$('.' + settings.toolTipClass).css({
top: (el.pageY - $('.' + settings.toolTipClass).outerHeight() - settings.yOffset),
left: (el.pageX + settings.xOffset)
})
});
}
// check if click feature is enabled
if(tipContent && settings.clickIt){
// Activate on click
obj.click(function(el){
obj.attr({title: ''});
$('body').append("<div class='"+ settings.toolTipClass +"'><p class='aToolTipContent'>"+ tipContent +"</p></div>");
$('.' + settings.toolTipClass).append("<a class='"+ settings.closeTipBtn +"' href='#' alt='close'>close</a>");
$('.' + settings.toolTipClass).css({
position: 'absolute',
display: 'none',
zIndex: '50000',
top: (obj.offset().top - $('.' + settings.toolTipClass).outerHeight() - settings.yOffset) + 'px',
left: (obj.offset().left + obj.outerWidth() + settings.xOffset) + 'px'
})
.fadeIn(settings.inSpeed);
// Click to close tooltip
$('.' + settings.closeTipBtn).click(function(){
$('.' + settings.toolTipClass).fadeOut(settings.outSpeed, function(){$(this).remove();});
return false;
});
return false;
});
}
}); // END: return this
// returns the jQuery object to allow for chainability.
return this;
};
})(jQuery);
答案 0 :(得分:0)
我将指向jQuery方法,因为你已经在使用它了。
您需要找出要用作链接元素的图片的元素ID。在html中,它应如下所示:"id="asdfasdf"
。
不幸的是,我在脚本中找不到插入图片的点。我不认为你正在寻找合适的地方,老实说,这个功能似乎只显示tooltips。
无论如何,一旦找到元素的id,就可以使用jQuery的$('#idofyourelement')
来选择它。如果他们没有id,你可以选择它们。有关简介,请参阅here。
选择元素后,您可以使用wrap() - 方法在其周围添加html链接 或 您可以安装{{3}并调用一个打开新链接的函数:
function goToLink() {
window.location = "http://www.whereveryouwant.com"
}
$("#idofyourpicture").click(goToLink);
为要用作链接的每张图片执行此操作。