我可能会在这里引起专业人士的愤怒。我是一名业余爱好者,正在努力学习“随时随地学习”。在工作中,但大多数JavaScript仍然让我感到困惑。 (我在HTML和CSS方面相当不错。)
我正在为我公司的网站开发一个新的下拉导航(是的,终于在我脑海中),但我似乎无法让它变得适合移动设备。我搜索和搜索过这个网站以及其他网站,但是我的无知可能使我无法理解所提供的一些可能的解决方案。 (因此,患者会高度赞赏基本的解释。)
我只需要两件事就可以让我的导航菜单适合移动设备:
为了记录,我只是尝试调整下一页显示的下拉菜单以供我们公司使用,但它是悬停而不是点击/触摸激活:
http://code.tutsplus.com/tutorials/how-to-build-a-kick-butt-css3-mega-drop-down-menu--net-15129
请帮忙。原谅我的无知,我正在努力。仁慈的人有福了。
提前致谢。
答案 0 :(得分:0)
我认为jQuery在这里是你的朋友,特别是.on('click',...和.on('dblclick',...
我可以通过几种方式来做到这一点。一个是跟踪你点击的项目,以便第一次点击一个项目时“记住”,再次点击该项目时,我们会比较这些项目,如果它们匹配,则触发事件:
var clickedItem = '';
$(document).on('click', '#dropdown1', function() {
if (clickedItem == '' || clickedItem != this) {
clickedIten = this;
Do other stuff..
}
else if (clickedItem == this) {
Open Dropdown...
}
});
关于点击任何内容时关闭下拉列表,请检查jQuery焦点并将其设置为所有下拉列表的常规选择器。
答案 1 :(得分:0)
冒着在这里处理专业开发人员的愤怒的风险,我已经决定发布我的解决方案,例如它,只是为了帮助其他像我一样懒惰的人。
我也是业余爱好者,和许多其他人一样,在移动友好时遇到了纯手机和平板电脑上的纯html / css下拉菜单问题。
问题是,在我的旧的,没有移动设备友好的网站上,下拉菜单在手机,iPhone,平板电脑等上工作得很好但是在重新开发它以便移动友好之后(感谢Google!)它突然没有了。牛逼!?在花了几个小时浏览我的代码以找出原因之后,我意识到旧网站和新网站之间的唯一区别是,除了像素宽度被改为%宽度之外,新网站有这个新的和所有重要的元标记: / p>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
我知道这段代码需要在那里,但现在我也知道它引起了我的所有问题......好吧,无论如何,我所有的网站都有相关的问题。
我提出了这个懒惰和厚颜无耻的解决方案,让我的下拉菜单在移动友好之前就像它一样工作。
只需将初始比例更改为低于1.0的标称数量,并添加一些代码以获得良好的衡量标准,如下所示:
<meta name="viewport" content="width=device-width, initial-scale=0.994, user-scalable=yes">
我不确定为什么会这样,但我只能假设将初始比例设置为1.0,即屏幕的整个宽度,禁用这些设备内置的双击功能。
在下方设置它,打开门就足以让他们自己的双击功能再次工作,省去了放入一大堆复杂代码的麻烦,只是为了让手机,iPhone和平板电脑做他们做的事情。 ;已经能够做到了。
我在索尼Z1上测试了这个,并通过Googles移动友好测试,并没有问题!