Javascript jQuery如何能够为网站的某些部分设置动画?

Javascript jQuery如何能够为网站的某些部分设置动画?,javascript,jquery,html,browser,Javascript,Jquery,Html,Browser,当我浏览网页了解更多关于jQuery和JavaScript的信息时,我意识到我不知道它们是如何工作的。以slideDown()方法为例: 单击按钮时,它会隐藏所有p元素。当浏览器读取此代码时,它如何知道要做什么以及如何做 jQuery是一个用JavaScript编写的库。但是它做的事情也可以用JavaScript完成吗?或者jQuery的创建者是否也与web浏览器的用户进行了对话,以实现更多功能 简言之,我的问题是在一个更基本的层面上:浏览器如何做他们所做的事情,以及代码如何让他们做到这一点 /

当我浏览网页了解更多关于jQuery和JavaScript的信息时,我意识到我不知道它们是如何工作的。以slideDown()方法为例:

单击按钮时,它会隐藏所有p元素。当浏览器读取此代码时,它如何知道要做什么以及如何做

jQuery是一个用JavaScript编写的库。但是它做的事情也可以用JavaScript完成吗?或者jQuery的创建者是否也与web浏览器的用户进行了对话,以实现更多功能

简言之,我的问题是在一个更基本的层面上:浏览器如何做他们所做的事情,以及代码如何让他们做到这一点


/编辑这篇文章“”在这个主题上闪耀了一些很好的哲学光芒。

slideUp()、slideDown()、animate()等只是随着时间的推移很快地改变了一些CSS属性。这里没有额外的功能。他们只需设置间隔,并每次稍微更改元素的高度或位置。

slideUp()、slideDown()、animate()等只是随着时间的推移快速更改一些CSS属性。这里没有额外的功能。他们只需设置间隔,并每次稍微更改元素的高度或位置。

是的,您可以在Javascript中完成所有操作。jQuery人员与浏览器作者之间没有特别的交易

在这种情况下,它的实现非常简单。第一个jQuery查找所有
元素并将它们放入一个数组中。这是通过
querySelector()
javascript方法实现的;对于较旧的元素,我怀疑jQuery只是简单地枚举所有元素,然后选择正确的元素

在jQuery拥有数组中的所有元素之后,它开始“slideDown”效果。这只需使用Javascript计时器(
setTimeout()
setInterval()
)以及操作CSS属性(如
height
等)即可实现


总之,jQuery不会创建任何新内容。使用jQuery可以做的所有事情,也可以使用普通的老Javascript来做。除了需要更多的编写之外。

是的,您可以用Javascript完成所有工作。jQuery人员与浏览器作者之间没有特别的交易

在这种情况下,它的实现非常简单。第一个jQuery查找所有
元素并将它们放入一个数组中。这是通过
querySelector()
javascript方法实现的;对于较旧的元素,我怀疑jQuery只是简单地枚举所有元素,然后选择正确的元素

在jQuery拥有数组中的所有元素之后,它开始“slideDown”效果。这只需使用Javascript计时器(
setTimeout()
setInterval()
)以及操作CSS属性(如
height
等)即可实现


总之,jQuery不会创建任何新内容。使用jQuery可以做的所有事情,也可以使用普通的老Javascript来做。除了需要更多的编写之外。

jQuery是一个JavaScript库,所有功能都是通过JavaScript实现的

例如,您的
.slideDown()
方法可以这样做:

function slideDown (element, duration, finalheight, callback) {
    var s = element.style;
    s.height = '0px';

    var y = 0;
    var framerate = 10;
    var one_second = 1000;
    var interval = one_second*duration/framerate;
    var totalframes = one_second*duration/interval;
    var heightincrement = finalheight/totalframes;
    var tween = function () {
        y += heightincrement;
        s.height = y+'px';
        if (y<finalheight) {
            setTimeout(tween,interval);
        }
    }
    tween();
}
函数向下滑动(元素、持续时间、最终高度、回调){
var s=element.style;
s、 高度='0px';
var y=0;
var帧率=10;
var 1秒=1000;
变量间隔=1秒*持续时间/帧速率;
var totalframes=1秒*持续时间/间隔;
var heightincrement=最终高度/总帧数;
var tween=函数(){
y+=高度增量;
s、 高度=y+‘px’;

如果(yjQuery是一个JavaScript库,那么所有功能都是通过JavaScript实现的

例如,您的
.slideDown()
方法可以这样做:

function slideDown (element, duration, finalheight, callback) {
    var s = element.style;
    s.height = '0px';

    var y = 0;
    var framerate = 10;
    var one_second = 1000;
    var interval = one_second*duration/framerate;
    var totalframes = one_second*duration/interval;
    var heightincrement = finalheight/totalframes;
    var tween = function () {
        y += heightincrement;
        s.height = y+'px';
        if (y<finalheight) {
            setTimeout(tween,interval);
        }
    }
    tween();
}
函数向下滑动(元素、持续时间、最终高度、回调){
var s=element.style;
s、 高度='0px';
var y=0;
var帧率=10;
var 1秒=1000;
变量间隔=1秒*持续时间/帧速率;
var totalframes=1秒*持续时间/间隔;
var heightincrement=最终高度/总帧数;
var tween=函数(){
y+=高度增量;
s、 高度=y+‘px’;

简而言之,if(y:每个浏览器供应商都实现了功能(针对DOM、javascript、CSS等),并通过(现在)javascript/CSS/HTML中的标准化API将其公开


您关于jQuery如何做到这一点的问题可以很容易地通过查看来回答。

简而言之:每个浏览器供应商都实现了功能(针对DOM、javascript、CSS等),并通过(现在)javascript/CSS/HTML中的标准化API将其公开


您关于jQuery如何实现其功能的问题可以通过查看来轻松回答。

是的,它实现了可以用javascript实现的功能

如果您想从jquery获得代码,以研究它是如何做特定事情的

“向上滑动”和“向下滑动”是jquery动画的帮助。jquery动画可以修改任何css属性“宽度”“高度”“不透明度”等。向下/向上滑动只修改“顶部css”属性

我必须承认,我从来没有费心去弄清楚它是如何完成的,我很确定它是在使用setInterval特性每隔一段时间修改属性的


是的,它做的事情可以在javascript中完成

如果您想从jquery获得代码,以研究它是如何做特定事情的

“向上滑动”和“向下滑动”是jquery动画的帮助。jquery动画可以修改任何css属性“宽度”“高度”“不透明度”等。向下/向上滑动只修改“顶部css”属性

我必须承认,我从来没有费心去弄清楚它是如何完成的,我很确定它是在使用setInterval特性每隔一段时间修改属性的


谢谢你的回答。现在我知道CSS是制作动画的语言。但问题仍然是:浏览器如何知道在读取CSS时做什么以及如何做?@user2609980-CSS在浏览器的血液中。这一点与