cuốn sách gpt4 ai đã làm

javascript - 需要了解一部分 jquery 代码?

In lại Tác giả: Walker 123 更新时间:2023-11-28 19:29:31 hai mươi bốn 4
mua khóa gpt4 Nike

这里我发布了一个jquery代码,它可以工作,但有几行我不清楚。 js fiddle link .

完整代码

HTML:




CSS:

#UPSContainer{
vị trí: tuyệt đối;
hiển thị: không có;
nền: đỏ;
height:0;
width:0;
}

javascript:

$(document).ready(function () {
var $els = [];
dữ liệu var = {
"UPSContainer": {
"height" : 100,
"width" : 100
},
"isAnimating" : false
};
$els.window = $(window);
$els.form = $('#ctl00');
$els.toggleUPSButtons = $('.toggleUPSContainer');

function addUPSOverlay(){
$els.form.append('
');
$els.UPSContainer = $('#UPSContainer');
}

function getNewWindowCorner(){
data.windowWidth = parseInt($els.window.width());
data.windowHeight = parseInt($els.window.height());
if($els.UPSContainer.is(':hidden')){
$els.UPSContainer.css({
top: data.windowHeight + 'px',
left: data.windowWidth + 'px'
});
}khác{
$els.UPSContainer.css({
left: ((data.windowWidth - data.UPSContainer.width) / 2) + 'px',
top: ((data.windowHeight - data.UPSContainer.height) / 2) + 'px'
});
}
}

function containerOpenComplete(){
// do what you want here when opening complete
}

function containerCloseComplete(){
// do what you want here when closing complete
}

function toggleUPSOverlay(e){
e.preventDefault();
if(!data.isAnimating){
if($els.UPSContainer.is(':hidden')){ // currently closed so open
$els.UPSContainer.show();
$els.UPSContainer.animate({
left: ((data.windowWidth - data.UPSContainer.width) / 2) + 'px',
top: ((data.windowHeight - data.UPSContainer.height) / 2) + 'px',
height: data.UPSContainer.height + 'px',
width: data.UPSContainer.width + 'px'
}, 200, function(){
containerOpenComplete();
});
}else{ // currently open so close
$els.UPSContainer.animate({
left: data.windowWidth + 'px',
top: data.windowHeight + 'px',
height: 0 + 'px',
width: 0 + 'px'
}, 200,
chức năng () {
$els.UPSContainer.hide();
containerCloseComplete();
});
}
}
}

function attachEvents(){
$els.window.on('resize', getNewWindowCorner);
$els.toggleUPSButtons.on('click', toggleUPSOverlay);
}

function initialize(){
addUPSOverlay();
getNewWindowCorner();
attachEvents();
}

initialize();
});

这个函数的代码不清楚

function getNewWindowCorner(){
data.windowWidth = parseInt($els.window.width());
data.windowHeight = parseInt($els.window.height());
}

只需查看windowWidth 和 windowHeight 部分

dữ liệu var = {
"UPSContainer": {
"height" : 100,
"width" : 100
},
"isAnimating" : false
};

data 已被声明为对象,并且它具有诸如 height、width 和 isAnimating 等属性,但是我们如何向数据对象添加两个名为 windowWidth 和 windowHeight 的新属性? ?

仅看到下面的代码,我们似乎可以在运行时在 JavaScript 中向任何名称的任何对象添加任何属性,这里我们将值存储到 windowWidth 和 windowHeight 属性中。

data.windowWidth = parseInt($els.window.width());
data.windowHeight = parseInt($els.window.height());

所以只需查看我的整个代码并告诉我这两个属性来自哪里windowWidth 和 windowHeight ?Cảm ơn

编辑1

需要更多帮助。 js var $els = []; 中叫什么?它是数组还是对象? var $els = []; 和有什么区别和 var els = {}; ?如果这是数组 var $els = []; 那么如何将任何东西插入数组,就像这样 $els.window = $(window);或 $els.body = $('body');。请帮助我了解小样本的用法。谢谢

câu trả lời hay nhất

对于普通的,您可以即时添加它们。它们不必从对象开始就声明。如果是的话,它们只会被覆盖。

所以你可以从一开始就添加你想要的一切......

dữ liệu var = {
"UPSContainer": {
"height": 100,
"width": 100
},
"isAnimating": false
};

..或随心所欲地创建它

var data = {};

data.UPSContainer = {};

data.UPSContainer.height = 100;
data.UPSContainer.width = 100;

data.isAnimating = false;

data.windowWidth = parseInt($els.window.width());
data.windowHeight = parseInt($els.window.height());

关于javascript - 需要了解一部分 jquery 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27149534/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress