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
最满意答案
最后我通过下面的代码得到了我的结果:
((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 ...
-
在实体框架中更新模型(Update Model in Entity Framework)[2022-02-17]
你在看设计师或代码视图吗? 您可以通过右键单击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 ...
-
我是否需要将POCO类与Entity Framework 6一起使用(Do I need to use POCO Classes with Entity Framework 6)[2022-01-28]
在像这样的项目中,您的类可以分为两种类型: 数据库实体对象(实体框架使用的对象) 数据协定对象(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
-
使用Entity Framework创建对象时不显示tt文件(tt files not appearing when creating objects with Entity Framework)[2021-10-10]
代码生成策略在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库中获取 - ... -
我可以直接使用Entity Framework生成的模型吗?(Can I use the generated model by Entity Framework directly?)[2023-06-29]
我认为你的意思是你已经通过设计师生成了模型。无论你是使用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 ...