できれば二つお願いがあります。
最も重要ではありませんが、以下の私のコードに関してご意見をお待ちしております. 改善する方法はいくらでもあります。移植性や堅牢性を高めますか?
「新規」を作成すると、コードが完全に機能しないようです。私の推測では、実際には有効なオブジェクトを作成していません。私は何を間違っていますか。
これは、新しいオブジェクトを作成しようとしても機能しませんでした。
var ll_port2 = New ll_port;
ll_port2.init({'aa':'#_div1','bb':'#_div2','cc':'1000'}); <-- no work
新しいアイテムを作成しなくても、うまくいきます。
ll_port.init({'aa':'#_div1','bb':'#_div2','cc':'1000'}); <-- works
以下のコード:
var ll_port = {
items:{
outside: /billabong|newage/,
},
assign: function(){
ccont = this.items.aa;
if (typeof $(ccont) === 'object' && $(ccont).css('z-index') && $(ccont).css('z-index') != this.items.cc) {
$(ccont).css('zIndex','').css('zIndex', this.items.zi);
}
},
closeit:function(){
if($(this.items.bb).length && $(this.items.bb).is(':visible')){
$(this.items.bb).hide();
}
},
strL: function(){
var _self = this;
$("body :not(" + _self.items.aa + ")")
.mousedown(function(event){
event.stopPropagation();
_self.closeit();
_self.assign();
});
$('iframe').live('mouseover',
function () {
if(_self.items.outside.test($(this).attr('src'))){
_self.closeit();
}
});
},
init: function(data){
$.extend(this.items, data);
this.strL();
var _self = this;
setTimeout(function(){
_self.assign();
}, 1500);
}
};
ll_port.init({'aa':'#_div1','bb':'#_div2','cc':'1000'});