我的名字是亚当,我是 Stack Exchange 的新手,但我发现这个网站对我过去遇到的许多问题非常有用。
我在使用 jquery 函数时遇到问题,并想在这里寻求建议。我对 html 和 css 有相当的了解,对 php 有一点了解,但几乎没有 javascript 或 jquery。
我目前正在开发一个使用特定 html 标签来启用动态内容的网站,因为不允许使用 php。然而,Javascript 是所以我一直在寻找它。我没有现场示例来向您展示,因为我只能在我的帐户中预览设计,但是我已经粘贴了下面的脚本。
我想创建一个响应式设计,流向移动设备。遵循最近的设计趋势,我想从屏幕的一侧创建“滑入/滑出”风格的菜单(想想 Facebook Mobile、Dolphin Browser)。在查看了一些示例后,我编写了一个更改 CSS 的函数,将主 div#site 模板向右移动,显示左侧菜单。一切都很好,而且效果很好。
今天我决定最好有两个滑出菜单,一个在左边,另一个在右边。
我在函数中添加了我认为会起作用的东西,它确实起作用了。
我有一个按钮(带有 .open-sidebar-right 类)将主站点(div#site)向左滑动,显示右侧菜单。然后我可以单击相同的按钮或 div#site 来关闭菜单。
当我单击左侧按钮时会出现问题。左侧菜单绝对完美地打开和关闭,但是它使右侧按钮完全无用并且根本不起作用。
我尝试将其编写为两个单独的函数,对具有不同值的两个菜单使用一个变量,并且在使用左键后它总是使右键无用。
正如我之前提到的,我几乎不了解 Javascript 或 jQuery,所以它的代码可能很糟糕,但我不明白为什么这不起作用。
如果有人有任何意见或建议,我将不胜感激。
在此先感谢,亚当。
jQuery(function () {
var sidebarleft;
var sidebarright;
// ------------
// Left sidebar
jQuery(".open-sidebar-left").click(function () {
if (!sidebarleft) {
jQuery("#site").css({
'left':'50%',
});
sidebarleft = true;
return false;
} else {
jQuery("#site").css({
'left':'0%',
});
sidebarleft = false;
return false;
}
});
// ------------
// Right sidebar
jQuery(".open-sidebar-right").click(function () {
if (!sidebarright) {
jQuery("#site").css({
'right':'50%',
});
sidebarright = true;
return false;
} else {
jQuery("#site").css({
'right':'0%',
});
sidebarright = false;
return false;
}
});
// ----------------------------------
// Close sidebars by clicking on site
jQuery("#site").click(function () {
if (sidebarleft) {
jQuery("#site").css({
'left':'0%',
});
sidebarleft = false;
return false;
} else if (sidebarright) {
jQuery("#site").css({
'right':'0%',
});
sidebarright = false;
return false;
}
});
});