作者robinnpca (rob)
看板Ajax
标题[问题] 请问jquery向自己本页进行ajax有用吗?
时间Fri Dec 16 15:35:26 2011
补充请问ajax的顺序问题
突然想到
例如网页中会依据滑鼠会出现很多新的div
使用的是clone然後放置新位置的方式
在这一个function结束的末尾..
要call另外一个ajax的funtion
这样子
因为div会随滑鼠移动不断出现新的
会是下列哪一种情况??
1.DIV出现->ajax成功回应完成後->下一个DIV
2. DIV出现->ajax进行中..不用等这个ajax结束(因为滑鼠不断在动)
马上可以进行另外一个DIV出现->ajax进行(这一个ajax跟上一个ajax是同一个function
这样子要等到上一个的ajax结束後才会排队换到第二个ajax吗?)
举例子请教:
(1)function add_div(){
....
....
(11) ajaxwork(传参数过去);
}
(2)function ajaxwork(接受参数){
(22)$.ajax{....}
}
是
1.(1)->(11)->(2)->(22)->..一定要完结才开始另外一个重复循环(1)->....
2.(1)->(11)->(2)->...进行中
另外一个
(1)->(11)->(2)...也可进行不用等上面结束?
再来里面遇到(2)ajax时需不需要 等上一个(2)进行完 才会进行下一个(2)?
先讲一下!可能这问题有点怪
只是我在猜想可不可行
想请教
网页中
有很多次会去clone本页中的一个div
并去select出来改参数重新放入新位置
因为次数过於繁复
在浏览者等待的过程中
很有可能不耐烦...>__<
所以
请问
如果我在本页中
以ajax的方式对其索求其clone的动作
可行吗?
也就是系统一边clone改参数放入
一边又在运行网页中的其他function?
这样子网页一直在运行不会变成浏览者一直等待..
但是 ajax是不是只能跟sever进行沟通
不能跟自己的client进行沟通?这我不是很清楚!请教..
另外可能叙述不是很清楚
举例例如
function clonediv(lefts){
newdiv=$("#model").clone(true);
$(newdiv).css("left",lefts);
}
var lefts=10;
$("
#mainlayer").mousemove(function(){
$.ajax({
url: 'self.html',
type: 'POST',
dataType: 'html',
timeout: 1000,
data: {lefts:lefts},
error: function(){
alert('Error loading XML document');
},
success: function(response){
clonediv(response);
// do something with xml
}
});
lefts=lefts+10;
}
这里我其实不太清楚怎麽写 如dataType 和写自己的网页有用吗?(self.html)
还有这里不知道如何去写『接收』传过来的data...
目的:在id=mainlayer上的 mousemove事件会触发 自己网页上 clonediv事件
将内容由ajax非同步慢慢去出现新的div
同时也让我网页上的其他功能能继续...
还是直接告诉我这不可能...>_<
--
宁愿天空是蓝色~
也不愿心情是蓝的!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.17.52.209
1F:推 bibo9901:用不到ajax啊@@ 硬要用也可以, 但我想未必比较快 12/16 15:41
2F:→ robinnpca:我想说这可以去掉等待的时间吗?类似慢慢出来图片的感觉 12/16 17:01
3F:→ robinnpca:可以怎麽写吗?还是真的不会较快~那就放弃了.. 12/16 17:01
4F:推 musie:要避免load图的时间 请用lazy load 12/16 17:21
5F:→ robinnpca:欧!lazy load是load图,我查一下也可用在div层吗? 12/16 22:04
6F:→ robinnpca:查了一下好像不能用在其他方面只能用在图 12/17 11:40
7F:→ mesak:用SETTIMEOUT 延迟载入就好啦? 12/18 11:40
8F:→ robinnpca:延迟载入也需要排队吗?问题再次补充了一下... 12/19 10:55
※ 编辑: robinnpca 来自: 163.17.52.209 (12/19 10:58)
※ 编辑: robinnpca 来自: 163.17.52.209 (12/19 10:59)