Javascript 如何突出显示滚动菜单按钮-AngularJs
这是一个很常见的问题,但我无法解决。 我有一个网站,其中所有部分都在同一页上,你可以通过滚动查看它们。我希望当我在“关于”部分时,菜单上的“关于”按钮会突出显示。 我知道如何一次点击而不是滚动 这是我的代码: index.html:Javascript 如何突出显示滚动菜单按钮-AngularJs,javascript,html,angularjs,highlight,Javascript,Html,Angularjs,Highlight,这是一个很常见的问题,但我无法解决。 我有一个网站,其中所有部分都在同一页上,你可以通过滚动查看它们。我希望当我在“关于”部分时,菜单上的“关于”按钮会突出显示。 我知道如何一次点击而不是滚动 这是我的代码: index.html: <nav id="nav-wrap"> <ul id="nav" class="nav"> <li class="current"><a class="smoothscroll" ng-click="got
<nav id="nav-wrap">
<ul id="nav" class="nav">
<li class="current"><a class="smoothscroll" ng-click="gotoElement('hero')" href="">Home</a></li>
<li ng-repeat="item in menuItems"><a ng-click="gotoElement(item.id)" href="">{{item.page}}</a>
</ul>
</nav>
编辑
这是@FrontMonkey建议的解决方案
首先,在index.html中必须添加以下内容:
<script src="js/angular-scroll.js"></script>
可以找到
main.js的
angular.module('allApps').controller('menuCtrl', function($scope, $location, $document) {
$scope.menuItems=[
{page:"What WE do", id:"services"},
{page:"Why choose US", id:"about"},
{page:"our works", id:"portfolio"},
{page:"Partner", id:"partner"},
{page:"News", id:"news"},
{page:"Contact", id:"contact"}
];
/*Scroll function: change background-color of the header*/
$scope.toTheTop = function() {
$document.scrollTopAnimated(0, 800);
var h = $('header').height();
var y = $(window).scrollTop();
var header = $('#main-header');
if ((y > h + 30 ) && ($(window).outerWidth() > 768 ) ) {
header.addClass('opaque');
}else {
if (y < h + 30) {
header.removeClass('opaque');
}else {
header.addClass('opaque');
}
}
}
}).value('duScrollOffset', 30);
angular.module('allApps').controller('menuCtrl',function($scope,$location,$document){
$scope.menuItems=[
{page:“我们做什么”,id:“服务”},
{page:“为什么选择我们”,id:“关于”},
{page:“我们的作品”,id:“公文包”},
{page:“Partner”,id:“Partner”},
{page:“News”,id:“News”},
{第页:“联系人”,id:“联系人”}
];
/*滚动功能:更改标题的背景颜色*/
$scope.toTheTop=函数(){
$document.scrollTopAnimated(0800);
var h=$('header').height();
变量y=$(窗口).scrollTop();
变量头=$(“#主头”);
如果((y>h+30)和($(窗口).outerWidth()>768)){
header.addClass('不透明');
}否则{
如果(y
您必须应用一些css
#nav li:hover,#nav li:active{
background: somecolor;
}
你必须应用一些css
#nav li:hover,#nav li:active{
background: somecolor;
}
这是某人的jsfiddle-:D这是某人的jsfiddle-:D