首页 \ 问答 \ mousewheel和if语句jquery(mousewheel and if statements jquery)

mousewheel和if语句jquery(mousewheel and if statements jquery)

我想要做的就是当你尝试向上或向下滚动它时调用一个改变页面的功能。 我的身体overflow:hidden

我正在使用名为https://github.com/jquery/jquery-mousewheel'>mousewheel的jquery插件

这是我的代码:

$('#body').on('mousewheel', function(event) {

  if( event.originalEvent.detail > 0 || event.originalEvent.wheelDelta < 0 ) {
    //scroll down
    if(document.getElementById('pgcount').innerHTML == 'Page 1') scrollDown(2);
    if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollDown(3);
    if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollDown(4);
    if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollDown(5);
  } else {
    //scroll up
    if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollUp(1);
    if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollUp(2);
    if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollUp(3);
    if(document.getElementById('pgcount').innerHTML == 'Page 5') scrollUp(4);
  }
  //prevent page fom scrolling
  return false;

});

出于某种原因,它在向上滚动时有效,但当您向下滚动时,它会直接进入第5页(最后一个)。 当我将console.log(document.getElementById('pgcount').innerHTML)到每个用于向下滚动的if语句时,记录了这个:

Page 1
Page 2
Page 3
Page 4

我不明白为什么它会向上滚动而不是向下滚动。 我知道被调用的函数(scrollDown)不是问题,因为它从控制台调用时可以正常工作。

提前致谢


What I'm trying to do is make it so when you try to scroll up or down it calls a function that changes the page. My body has overflow:hidden.

I'm using the jquery plugin called https://github.com/jquery/jquery-mousewheel'>mousewheel

This is my code:

$('#body').on('mousewheel', function(event) {

  if( event.originalEvent.detail > 0 || event.originalEvent.wheelDelta < 0 ) {
    //scroll down
    if(document.getElementById('pgcount').innerHTML == 'Page 1') scrollDown(2);
    if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollDown(3);
    if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollDown(4);
    if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollDown(5);
  } else {
    //scroll up
    if(document.getElementById('pgcount').innerHTML == 'Page 2') scrollUp(1);
    if(document.getElementById('pgcount').innerHTML == 'Page 3') scrollUp(2);
    if(document.getElementById('pgcount').innerHTML == 'Page 4') scrollUp(3);
    if(document.getElementById('pgcount').innerHTML == 'Page 5') scrollUp(4);
  }
  //prevent page fom scrolling
  return false;

});

For some reason it works when scrolling up but when you scroll down it goes straight to page 5 (the last one). When i added console.log(document.getElementById('pgcount').innerHTML) to each if statement for scrolling down it logged this:

Page 1
Page 2
Page 3
Page 4

I don't understand why it would work scrolling up but not down. I know that the function being called (scrollDown) isn't the problem as it works when called from the console.

Thanks in advance


原文:https://stackoverflow.com/questions/39318681
更新时间:2023-09-01 16:09

最满意答案

最后我通过下面的代码得到了我的结果:

((IObjectContextAdapter)d).ObjectContext.MetadataWorkspace.GetItems(DataSpace.CSpace)

它给了我所有类型的对象上下文。 然后我过滤了它们并得到了复杂的类型。


Finally I got my result by below line of code:

((IObjectContextAdapter)d).ObjectContext.MetadataWorkspace.GetItems(DataSpace.CSpace)

Its giving me all the types of object context. Then I filtered them and got complex types.

相关问答

更多
  • 我认为它是一个真正意义上的数据模型 - 不是域模型。 虽然人们谈论的是将实体框架模型作为一个领域概念,但是我不明白你如何容易地复制出价值对象,比如在真实领域意义上表示的数量,比如说: public class CustomerTransaction { public int Id { get; set; } public string TransactionNumber { get; set; } public Amount Amount { get; set; } } publi ...
  • 我以前做过这个: 1)获取数据库的副本 2)创建相关的外键 3)从您的副本创建实体框架模型 4)更改连接字符串以指回“实时”数据库。 一个很好的选择是首先使用反向工程代码来创建数据库的代码第一版。 然后,您可以在代码中手动添加关系。 I've done this before: 1) Take a copy of the database 2) Create the relevant foreign keys 3) Create the entity framework model from your co ...
  • 你在看设计师或代码视图吗? 您可以通过右键单击EDMX文件并选择Open With -> ADO.NET Entity Data Model Designer来强制打开Open With -> ADO.NET Entity Data Model Designer 右键单击EDMX设计器的设计器表面,然后单击Update Model From Database... 默认情况下刷新所有实体,只有在选择新实体时才会添加新实体。 Are you looking at the designer or code vi ...
  • 如果您将来再次自动生成类,则您的更改将会丢失。 这种情况发生在我的软件生产中,我将计算属性附加到生成的类中: public string GetOtherProps => $"{this.prop1}, {this.prop2}"; 然后在整个申请中引用它。 这些类由于某种原因而被重新生成,并且在我们的软件中突然出现了数百个Unknown Reference Errors 。 If you were to auto-generate the classes again in the future, your ...
  • 在像这样的项目中,您的类可以分为两种类型: 数据库实体对象(实体框架使用的对象) 数据协定对象(WCF或您的Web服务使用的对象) 虽然可以为两者使用相同的对象,但不建议这样做,因为数据库实体对象是与外部接口(您的Web服务)分开的内部实现关注点。 您可以在数据库表中添加或删除列,而不希望更改API合约。 但通常你会想要隐藏服务消费者的信息,比如数据库表Users ( UserId, Password ) ,你绝对不希望Password属性消失! 另一个原因是你以后可能想要为你的webservice合同类添 ...
  • 最后我通过下面的代码得到了我的结果: ((IObjectContextAdapter)d).ObjectContext.MetadataWorkspace.GetItems(DataSpace.CSpace) 它给了我所有类型的对象上下文。 然后我过滤了它们并得到了复杂的类型。 Finally I got my result by below line of code: ((IObjectContextAdapter)d).ObjectContext.MetadataWorkspace.GetItems( ...
  • 实际上他们已经在部分课程中。 请参阅MSDN Actually they are already in partial classes. See MSDN
  • 代码生成策略在RC之后发生了变化。 VS 2012 Beta和RC版本使用了以前版本的Visual Studio中使用的代码生成策略。 他们没有暴露T4模板并生成基于ObjectContext的contex和基于EntityObject的实体。 发布VS 2012 RC代码生成后,生成基于DbContext的上下文和POCO实体 - 全部使用T4模板。 教程使用VS2012 RTM版本,因此您可以看到T4模板和POCO实体。 您需要使用VS2012 RTM(首选)或EF5代码生成器,您可以从VS库中获取 - ...
  • 我认为你的意思是你已经通过设计师生成了模型。无论你是使用Code First Approach(先创建类)还是使用Database First方法都没关系。 模型是表的表示,您可以通过Dbcontext访问模型,其中模型表示为DbSets。您可以使用dbcontext基于实现的逻辑对模型/表进行任何类型的操作。 业务逻辑不应该是模型的一部分,但理想情况下应该是远离它的两层。 业务逻辑层应调用数据访问层(DAL),DAL应具有通过EF中的dbContext访问/操作数据的逻辑。 请参阅存储库模式。 ( htt ...
  • 这是一个如何使用MVC实现数据访问代码的简要演示。 请注意,数据访问通常发生在控制器操作中,而不是上面指示的模型: [HttpPost] public ActionResult Update(MyModel model){ //You call your data access code here and retrieve your entity DataAccessObject dao = new DataAcessObject(); var entity = dao.Get(mo ...

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)