我目前正在摆弄jQuery的ajax方法,以便从JSON提要中获取一些数据,并根据数据设置一些条形图。
当我被黑客攻击时,我真的不知道我的方法是否正确。
$.ajax({
url: "/echo/json/",
type: "POST",
data: data,
success: function(data){
$("#value1-bar .usage-bar-fill").animate({
width: data.Value1
}, 2500, function() {
// Animation complete.
});
$("#value2-bar .usage-bar-fill").animate({
width: data.Value2
}, 2500, function() {
// Animation complete.
});
},
dataType: "json"
});
从ajax方法内部设置div的动画是否可以,或者是否有更正确的方法来做到这一点 - 格式化,内存明智等等?
有些人如何从ajax方法返回一些变量并从ajax方法外部执行动画方法更好吗?
在这里查看jsfiddle示例:http://jsfiddle.net/timkl/KPvCj/
我知道这是一个非常广泛的问题,但作为一名平面设计师是自学成才的网页设计师 - 我从来不知道我所做的事情是不是很好的做法。
答案 0 :(得分:2)
我喜欢这个问题,我希望看到一些更详细的反馈,但我会说它看起来不错。您已经在ajax方法中调用了嵌入式成功函数,因此担心其他嵌入式函数的内存/性能似乎几乎可以忽略不计......
如果您想要使用在成功函数中使用的相同/类似动画更多地为usage-bar-fill
设置动画,那么我可能会创建单独的函数并调用它们......但是我我相信你已经知道了;)
好问题!
答案 1 :(得分:2)
这几乎是一个品味问题,因为这似乎是一个非常小的应用。当您的应用程序增长时,整体设计和原则将成为该流程中更重要的一部分。
但是说,我不喜欢这种方法。它非常容易产生不必要地重复自身的代码 - 除非这些是严格的一次性情况,这种情况非常特定于此用例,但大多数情况下您可以概括以启用代码重用。
就个人而言,我会在其他地方声明回调函数,可能是在已经知道应该使用它的对象(即你的选择器)上并且知道如何处理它。这样,代码几乎构造了自己,只保留了需要它们的非常局部相关的位。
在这种特定情况下,它将是图形对象的线条,当设置值时,适当地更新其自己的显示/视图。
希望我的谣言有意义。我可能有点太累了,无法发表意见和专家建议,所以我会停在这里。