移动端跟随式导航js怎么写

JavaScript025

移动端跟随式导航js怎么写,第1张

一、打开Dreamweaver,点击 文件-新建 菜单,创建一个HTML文件,输入网站导航栏文字,并选中输入的文字,在下面的属性栏链接处加一个空链接:#。然后保存该网页文件。二、点击 窗口-行为 菜单,打开行为面板。三、选中第一步输入的文字,点行为面板上的+号,在弹出的菜单中选-显示弹出式菜单。四、在弹出的对话框中勾选 Don’t show me this message again(不要再次向我提示此信息),再点 继续。五、在下列对话框分别设置内容、外观、高级、位置选项。在 内容 选项中,点+号可以添加菜单项,-号可以删除菜单项,缩进项可以自动生成二级菜单。六、各项都设置好后,按F12,在浏览器中预览网页效果如下:此时你会发现和网页同级的目录多了两个文件,分别是:arrows.gifmm_menu.js。请勿修改、移动位置,这是弹出式菜单必须的图片、JS文件。如需修改下拉菜单,可以选中文字,点击行为面板的 显示弹出式菜单 即可。如果下拉菜单下面有Flash,为了不影响下拉菜单的正常效果和层次,需要给Flash添加透明代码:<param name="WMODE"value="transparent">,还需在embed标签中加入代码:wmode="transparent"。大神,可以详细点么?可是需要引入jquery.js么?我试了下,没有效果啊1、给每个导航选项一个属性,保存楼层id;3、监听页面滚动事件,如果当前滚动到某一个楼层,就更新导航选中。不一定非要是id,主要是维护两者对应关系。恩恩,谢谢了!不过还想问下:鼠标经过和点击又该如何控制?

//html5 新增 touch 事件

//禁用手机默认的触屏滚动行为

document.addEventListener('touchmove', function(event) {

event.preventDefault()

}, false)

//touchstart事件

function touchSatrtFunc(evt) {

try {

//evt.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动等

var touch = evt.touches[0] //获取第一个触点

var x = Number(touch.pageX) //页面触点X坐标

var y = Number(touch.pageY) //页面触点Y坐标

//记录触点初始位置

startX = x

startY = y

} catch (e) {

alert('touchSatrtFunc:' + e.message)

}

}

//touchmove事件,这个事件无法获取坐标

function touchMoveFunc(evt) {

try {

//evt.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动等

var touch = evt.touches[0] //获取第一个触点

var x = Number(touch.pageX) //页面触点X坐标

var y = Number(touch.pageY) //页面触点Y坐标

//document.getElementById("version").innerHTML = "原:"+startY+"   "+"现:"+y

//判断滑动方向

if (y - startY > 100) {

swipeDown()

} else if(y - startY < -100){

swipeUp()

}

} catch (e) {

alert('touchMoveFunc:' + e.message)

}

}

//touchend事件

function touchEndFunc(evt) {

try {

//evt.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动等

} catch (e) {

alert('touchEndFunc:' + e.message)

}

}

//绑定事件

function bindEvent() {

document.addEventListener('touchstart', touchSatrtFunc, false)

document.addEventListener('touchmove', touchMoveFunc, false)

document.addEventListener('touchend', touchEndFunc, false)

}

//判断是否支持触摸事件

function isTouchDevice() {

//document.getElementById("version").innerHTML = navigator.appVersion

try {

document.createEvent("TouchEvent")

//alert("支持TouchEvent事件!")

bindEvent() //绑定事件

} catch (e) {

alert("不支持TouchEvent事件!" + e.message)

}

}

写代码有些麻烦,给个关键建议。你大概是在拖动页面上遇到麻烦吧!要实现在触控设备上手指拖动元素,不能用mousemove哟,这个是没用的,要用到touchstart(手指接触触摸屏),touchmove(手指在触摸屏上移动),touchend(手指离开触摸屏)。touchmove调用的函数里最好填上event.preventDefault() 否则有些浏览器对touchmove也不管用哟!这个还可以开发多点触控,你自己去研究吧!

有关触摸事件参考这里: http://zm10.sm.cn/?src=http%3A%2F%2Fwww.2cto.com%2Fkf%2F201401%2F272575.html&uid=374119f2442b2126e94b23ef1419d180&hid=6b989aa1182219e3e0883131a232b00a&pos=2&cid=9&pi=&di=&time=1412014181458&from=click&restype=1&pagetype=0000000000000402