我希望在某些条件下尝试使用[query findObjectsInBackgroundWithBlock:^(NSArray* array, NSError* error)
{
if(!error)
{
if([array count] > 0)
{
PFObject* relationship = [array objectAtIndex:0];
if([relationship.objectId length] > 0)
{
if([[relationship objectForKey:@"initiatedBy"] isEqualToString:parseID]) // relationship initiated by current user -youLike
{
[youLike addObject:relationship];
NSLog(@"youLike added");
}
else
{
[likeYou addObject:relationship];
NSLog(@"likeYou added");
}
}
else NSLog(@"Custom error when cycling through user relationships: objectId is nil");
}
else
{
NSLog(@"Custom error when cycling through user relationships: Relationship at index %d could not be found in database", i);
}
}
else
{
NSLog(@"Error when cycling through user relationships: %@", error);
}
}
方法。
但它似乎无论如何都不起作用。
clearInterval()
我不知道为什么当左边财产的价值是" 600"时没有发生任何事情。 非常感谢您的帮助。
答案 0 :(得分:1)
现在它的编写方式,move
尚未被调用,因此此代码无需检查:
if (parseInt(list.style.left) == 600) {
clearInterval(myVar);
}
相反,在move()
内添加该条件并让它结束自己的执行:
var myVar; // change scope to outside of the below function.
window.onload = function(){
var list = document.getElementById("list");
list.style.position = "relative";
list.style.left = 0;
var move = function(){
list.style.left = parseInt(list.style.left) + 200 + "px";
demo[0].innerHTML = parseInt(list.style.left);
if (parseInt(list.style.left) == 600) {
clearInterval(myVar);
}
}
myVar = setInterval(move,1000);
}
也可能希望使范围更加全局化(或者至少使其更明显,可以在下面的函数之外进行修改)。无论如何它都会被悬挂,但是更加清晰将有助于以后的维护。
答案 1 :(得分:0)
您的if
语句仅在onload
事件中调用一次。在那之后,它永远不会被再次调用,所以它永远不会有机会清除间隔。如果您将move
函数更改为以下内容:
var move = function(){
list.style.left = parseInt(list.style.left) + 200 + "px";
demo[0].innerHTML = parseInt(list.style.left);
// Check to see if we should clear our interval
if (parseInt(list.style.left) == 600) {
clearInterval(myVar);
}
}
每次调用move
时都会进行检查。如果if语句中的条件变为true,它将清除你的间隔。
答案 2 :(得分:0)
您可以这样做:
window.onload = function(){
var list = document.getElementById("list");
list.style.position = "relative";
list.style.left = 0;
var move = function(){
if (parseInt(list.style.left) == 600) {
clearInterval(myVar);
}
list.style.left = parseInt(list.style.left) + 200 + "px";
demo[0].innerHTML = parseInt(list.style.left);
}
var myVar = setInterval(move,1000);
}
答案 3 :(得分:0)
list.style.left
返回一个字符串,可以跟随一个单位(px,pt ....)。它甚至可能是一个百分比。