当用户导航到特定部分时执行功能(地理位置)
Execute function (geolocation) when user navigates to a specific part
我正在为我正在构建的网站使用这个免费模板:http://blackrockdigital.github.io/startbootstrap-scrolling-nav/
我正在使用地理定位服务(谷歌)。但我不想强迫用户每次进入网站时都按"批准",只有当用户导航到/按下"服务"按钮/区域时,我希望我的地理位置功能执行。有人知道如何解决这个问题吗?
我可以以某种方式检查他们在网站上的位置吗?我可以获取部分 ID,但我如何根据用户当前所在的位置进行检查?
章节示例:
<!-- About Section -->
<section id="About" class="About-section">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1>About</h1>
<h3>Here is text about us</h3>
</div>
</div>
</div>
</section>
<!-- Services Section -->
<section id="Services-pdl" class="Services-section">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1>Services</h1>
<div id="map"></div>
</div>
</div>
</div>
</section>
谢谢。
通过将其用于滚动和单击来解决它(单击按钮时页面滚动到一个部分):
$(window).scroll(function() {
if(isScrolledIntoView($(find)))
{
setTimeout(function() {
initMap();
}, 900);
}
});
function isScrolledIntoView(elem)
{
var $elem = $(elem);
var $window = $(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
setTimeout 在 .scroll() 中是必需的,因为当用户单击另一个按钮(在本节下方)时,它将在没有 setTimeout 的情况下执行。不确定 setTimeout 是否可能低于 900,但目前工作正常。
从此线程中的答案中获取了isScrolledIntoView():滚动后检查元素是否可见
如果你使用的是jQuery(你可能已经在你的页面上有了 - bootstrap),你可以将代码包装在document.ready()函数中,如下所示:
$(document).ready(function() {
// Code to execute
});
让它在页面加载完成后运行。 https://learn.jquery.com/using-jquery-core/document-ready/
使用 jQuery,您还可以在单击按钮时运行代码,如下所示:
$('#mybutton').on('click', function() {
//Code to execute
});
请参阅此处的 on() 文档 http://api.jquery.com/on/
相关文章:
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 如果未按下该按钮,则在30秒内自动执行该功能
- 如果在编辑中下拉值发生变化,如何执行功能
- 在周一上午8点至晚上7点之间执行功能
- 对页面上的所有ID执行JS功能
- 使用html 5对元素执行自定义表单验证功能
- 如何在ng中继器运行中执行功能
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- 基于条件执行功能
- clearInterval无法执行shuffle功能
- 页面内容加载完毕后执行Jquery功能
- 自动执行Javascript中的功能,用于评测实现
- 为什么不是't点击按钮时执行的功能
- Chrome扩展 - 如何使用按钮单击功能执行javascript文件
- Meteor功能执行了两次
- 分配和功能执行
- 有条件地延迟功能执行
- 功能执行后禁用键
- JS多功能执行
- 如何停止定时器,如果功能执行正确