小编pla*_*res的帖子

Javascript,SetInterval和SetTimeOut函数导致跳转滚动

我正在使用带有特定模板的Squarespace网站,该模板使用索引页面和子页面作为索引页面的内容.(这些页面可以一个接一个地滚动).我想Squarespace正在使用锚点从索引页面滚动到相关页面.

我添加了一个javascript来显示当前时间并每秒更新一次(moment.js和moment-timezone).我每秒用SetInterval(function_name,1000)更新时间;

时间每秒都在正确更新.但是,这会导致我正在更新时间的特定页面在尝试向上或向下滚动时保持聚焦(它每秒都会发生).因此,如果我尝试从更新时间的特定页面向上或向下滚动,它会每秒自动滚动回到该页面!!

似乎有一个事件触发每一秒导致这一点.我每秒呼叫的实际功能如下:

function showLocalTime() {
    var momentLondon = moment().tz("Europe/London").format('HH:mm:ss z');
    // The location label HTML
    var locationHTML = '<strong>Location</strong><br>';
    // The HTML string for london, England
    var londonHTML = 'London, England';
    $( "p:contains('London, England')" ).html(locationHTML + londonHTML + ' (' + momentLondon + ')');
}
Run Code Online (Sandbox Code Playgroud)

因此,我所做的只是更改特定HTML元素的innerHTML以显示当前时间.

我调用上面的函数如下:

<script>
  $(function() {
    document.addEventListener("DOMSubtreeModified", function(){
    return;});
    window.setInterval(showLocalTime, 1000); // update it periodically
  });
</script>
Run Code Online (Sandbox Code Playgroud)

但是,正如我所说,通过SetInterval重复调用上述函数会导致网页每秒自动滚动到网站的这一部分(联系人页面)!!

我可以看到每次调用上面的函数时都会触发一个事件DOMSubtreeModified.我为DOMSubtreeModified事件添加了一个自定义侦听器,但我仍然遇到同样的问题.

可能是因为某种重绘事件?无论如何,我似乎无法找到问题,我无法克服这个问题.

任何帮助,将不胜感激!!

谢谢

javascript jquery settimeout setinterval squarespace

7
推荐指数
1
解决办法
816
查看次数

自动检测所有已安装的地图导航应用程序

在iOS苹果地图应用程序中,选择目的地时,苹果地图为您提供了使用任何已安装的地图应用程序获取转弯指示的选项。

苹果地图如何做到这一点?有没有办法在自己的应用中实现类似功能?

一种方法是获取最受欢迎的导航应用程序列表,检查它们是否支持url方案,并使用以下命令检查是否安装了其中的任何一个:

if ([[UIApplication sharedApplication] canOpenURL:url]) {
        // mapping app is installed ...
}
Run Code Online (Sandbox Code Playgroud)

但是,这是不可靠的,因为url方案可能会更改,并且某些映射的转弯应用程序不支持url方案。

提前致谢。

ios directions swift turn-by-turn

5
推荐指数
1
解决办法
472
查看次数

转换后的子视图转换大小调整

我有一个容器视图控制器和子视图控制器(类似于UITabViewController).在一个子视图控制器的视图和另一个子视图控制器的视图之间转换时,我使用:

let oldView = // get reference to old view
let newView = // get reference to new view
UIView.transition(from: oldView!, to: newView!, duration: 0.3,
                  options: .transitionCrossDissolve, completion: nil)
Run Code Online (Sandbox Code Playgroud)

这里的问题是,在转换动画完成后,newView的大小调整会发生,这看起来很难看.

只有在第一次加载新的子视图控制器时才会发生这种不良行为.似乎viewDidLayoutSubviews方法仅在转换后调用.

如何在转换之前而不是之后调整newView的大小.

提前致谢.

uicontainerview swift ios10 xcode8

5
推荐指数
1
解决办法
257
查看次数

适用于iOS 5/6的在线实时多人游戏

我知道已有一些关于这个主题的帖子,但我找不到我需要的答案,我不知道从哪里开始.

我想为iPhone创建一个在线多人游戏,玩家可以通过互联网一起玩.例如,2玩家赛车游戏,一旦2个玩家匹配并连接,他们就可以实时控制他们的汽车彼此.比如马里奥车.

我知道游戏套件确实如此,但只能通过蓝牙或同一个wifi网络.我希望这可以通过互联网(仅限wifi),玩家可以在世界各地互相对战.

我知道已经有一些框架可以做到这一点.但它们成本高昂,取决于连接数量.有没有便宜或敢说,免费的方式这样做?喜欢游戏套件做匹配然后连接和发送数据是以其他方式完成的吗?就像拥有iPhone主机游戏一样?而不是拥有一个专用的服务器.我没有预算,也没有创建专用服务器的知识和经验.

匹配很简单.有30个级别,任何想要玩相同级别的2个玩家都匹配.

欢迎任何链接或书籍推荐.我的网络知识非常有限,不知道从哪里开始.

我可以阅读和学习技术,即使它们是技术性的,但我需要合适的资源才能让我开始

提前致谢.

iphone cocoa cocoa-touch

3
推荐指数
1
解决办法
3683
查看次数

NSArray 与 NSDictionary 查找

检查对象是否已存在于列表中更快且成本更低。通过使用 NSArray 包含对象还是通过检查 NSDictionary 的键是否已经存在?

NSArray containsObject 选择器也遍历整个数组元素吗?另外如何检查字典中是否已经存在一个键?这是否需要遍历所有键。

最后,检查对象是否已存在于大型对象列表(同一类)中的最佳和最快方法是什么。

提前致谢

iphone cocoa-touch cocos2d-iphone ios4 ios5

2
推荐指数
1
解决办法
2706
查看次数