Javascript 加载其他图像时,加载和定位图像
我在加载和定位我的一个图像时遇到了一个小问题。最小的。我正在使用spacegallery脚本() 它的加载很好,但我希望它能定位在更大图像的角落,当我第一次加载我的页面时,它没有定位,当我重新加载它时-这一切都很好,但第一次加载是错误的 以下是屏幕: 这是不刷新站点的第一次加载: 第二次和下一次加载: 我的HTML:Javascript 加载其他图像时,加载和定位图像,javascript,jquery,Javascript,Jquery,我在加载和定位我的一个图像时遇到了一个小问题。最小的。我正在使用spacegallery脚本() 它的加载很好,但我希望它能定位在更大图像的角落,当我第一次加载我的页面时,它没有定位,当我重新加载它时-这一切都很好,但第一次加载是错误的 以下是屏幕: 这是不刷新站点的第一次加载: 第二次和下一次加载: 我的HTML: <div id="myGallery" class="spacegallery"> <img class="imaz" src=htt
<div id="myGallery" class="spacegallery">
<img class="imaz" src=http://derivativeofln.com/magnifier.jpg />
<img class="aaa" src=images/bw1.jpg alt="" atr1="bw1" />
<img class="aaa" src=images/bw2.jpg alt="" atr1="bw2" />
<img class="aaa" src=images/bw3.jpg alt="" atr1="bw3" />
</div>
我的Jquery主脚本文件:(第一个定位说明在底部,请随意向下滚动:)
(函数($){
眼伸({
太空馆:{
动画:错,
//位置图像
位置图像:功能(el){
var-top=0;
EYE.spacegallery.animated=false;
$(el)
.find('a'))
.removeClass(el.spacegalleryCfg.loadingClass)
(完)
.find('img.aaa')
.removeAttr(“高度”)
.每个功能(nr){
var newWidth=this.spacegallery.origWidth-(this.spacegallery.origWidth-this.spacegallery.origWidth*el.spacegalleryCfg.minScale)*el.spacegalleryCfg.asins[nr];
$(本)
.css({
顶部:el.spacegalleryCfg.tops[nr]+“px”,
marginLeft:-parseInt((newWidth+el.spacegalleryCfg.border)/2,10)+“px”,
不透明度:1-el.spacegalleryCfg.asins[nr]
})
.attr('width',parseInt(newWidth));
this.spacegallery.next=el.spacegalleryCfg.asins[nr+1];
this.spacegallery.nextTop=el.spacegalleryCfg.tops[nr+1]-el.spacegalleryCfg.tops[nr];
this.spacegallery.origTop=el.spacegalleryCfg.tops[nr];
this.spacegallery.opacity=1-el.spacegalleryCfg.asins[nr];
this.spacegallery.increment=el.spacegalleryCfg.asins[nr]-this.spacegallery.next;
this.spacegallery.current=el.spacegalleryCfg.asins[nr];
this.spacegallery.width=newWidth;
})
},
//建造师
初始化:函数(opt){
opt=$.extend({},EYE.spacegallery.defaults,opt{});
返回此值。每个(函数(){
var el=这个;
如果($(el).is('.spacegallery')){
$('')
.附于(本)
.addClass(opt.loadingClass)
.bind('click',EYE.spacegallery.next);
el.spacegalleryCfg=opt;
var listunia,images2=[],指数;
listunia=el.getElementsByTagName(“img”);
对于(索引=1;索引#myGallery0 {
width: 100%;
height: 300px;
}
#myGallery0 img {
border: 2px solid #52697E;
}
a.loading {
background: #fff url(../images/ajax_small.gif) no-repeat center;
}
.imaz {
z-index: 10000;
}
.imaz img{
position: absolute;
left:10px;
top:10px;
z-index: 10000;
width: 35px;
height: 35px;
}
(function($){
EYE.extend({
spacegallery: {
animated: false,
//position images
positionImages: function(el) {
var top = 0;
EYE.spacegallery.animated = false;
$(el)
.find('a')
.removeClass(el.spacegalleryCfg.loadingClass)
.end()
.find('img.aaa')
.removeAttr('height')
.each(function(nr){
var newWidth = this.spacegallery.origWidth - (this.spacegallery.origWidth - this.spacegallery.origWidth * el.spacegalleryCfg.minScale) * el.spacegalleryCfg.asins[nr];
$(this)
.css({
top: el.spacegalleryCfg.tops[nr] + 'px',
marginLeft: - parseInt((newWidth + el.spacegalleryCfg.border)/2, 10) + 'px',
opacity: 1 - el.spacegalleryCfg.asins[nr]
})
.attr('width', parseInt(newWidth));
this.spacegallery.next = el.spacegalleryCfg.asins[nr+1];
this.spacegallery.nextTop = el.spacegalleryCfg.tops[nr+1] - el.spacegalleryCfg.tops[nr];
this.spacegallery.origTop = el.spacegalleryCfg.tops[nr];
this.spacegallery.opacity = 1 - el.spacegalleryCfg.asins[nr];
this.spacegallery.increment = el.spacegalleryCfg.asins[nr] - this.spacegallery.next;
this.spacegallery.current = el.spacegalleryCfg.asins[nr];
this.spacegallery.width = newWidth;
})
},
//constructor
init: function(opt) {
opt = $.extend({}, EYE.spacegallery.defaults, opt||{});
return this.each(function(){
var el = this;
if ($(el).is('.spacegallery')) {
$('<a href="#"></a>')
.appendTo(this)
.addClass(opt.loadingClass)
.bind('click', EYE.spacegallery.next);
el.spacegalleryCfg = opt;
var listunia, images2 = [], index;
listunia = el.getElementsByTagName("img");
for (index = 1; index < listunia.length; ++index) {
images2.push(listunia[index]);
}
el.spacegalleryCfg.images = images2.length;
el.spacegalleryCfg.loaded = 0;
el.spacegalleryCfg.asin = Math.asin(1);
el.spacegalleryCfg.asins = {};
el.spacegalleryCfg.tops = {};
el.spacegalleryCfg.increment = parseInt(el.spacegalleryCfg.perspective/el.spacegalleryCfg.images, 10);
var top = 0;
$('img.aaa', el)
.each(function(nr){
var imgEl = new Image();
var elImg = this;
el.spacegalleryCfg.asins[nr] = 1 - Math.asin((nr+1)/el.spacegalleryCfg.images)/el.spacegalleryCfg.asin;
top += el.spacegalleryCfg.increment - el.spacegalleryCfg.increment * el.spacegalleryCfg.asins[nr];
el.spacegalleryCfg.tops[nr] = top;
elImg.spacegallery = {};
imgEl.src = this.src;
if (imgEl.complete) {
el.spacegalleryCfg.loaded ++;
elImg.spacegallery.origWidth = imgEl.width;
elImg.spacegallery.origHeight = imgEl.height
} else {
imgEl.onload = function() {
el.spacegalleryCfg.loaded ++;
elImg.spacegallery.origWidth = imgEl.width;
elImg.spacegallery.origHeight = imgEl.height
if (el.spacegalleryCfg.loaded == el.spacegalleryCfg.images) {
EYE.spacegallery.positionImages(el);
}
};
}
});
el.spacegalleryCfg.asins[el.spacegalleryCfg.images] = el.spacegalleryCfg.asins[el.spacegalleryCfg.images - 1] * 1.3;
el.spacegalleryCfg.tops[el.spacegalleryCfg.images] = el.spacegalleryCfg.tops[el.spacegalleryCfg.images - 1] * 1.3;
if (el.spacegalleryCfg.loaded == el.spacegalleryCfg.images) {
if(el.spacegalleryCfg.images == 3){
$('img.imaz', this).css('top', '27px'); // HERE IS POSITIONING OF MY IMAGES, WHEN SCRIPT LOADS FOR THE FIRST TIME!
$('img.imaz', this).css('left', (($(el).find('img.aaa:last').width())/2 + 77) + 'px' );
}
else if(el.spacegalleryCfg.images==2){
$('img.imaz', this).css('top', '33px');
$('img.imaz', this).css('left', (($(el).find('img.aaa:last').width())/2 + 77) + 'px' ); // HERE IT ENDS:)
}
EYE.spacegallery.positionImages(el);
}
}
});
}
}
});
})(jQuery);
$(document).ready(«your poisitioning function here»)