如何在反应中使用jquery-scrollto
How can I use jquery-scrollto in react?
我使用browserify来构建反应组件。我需要使用 npm jquery-scrollto 插件 https://www.npmjs.com/package/jquery-scrollto,但它不起作用。
我不明白如何使用它?或
var $ = require('jquery');
var ScrollTo = require('jquery-scrollto');
ScrollTo('#myelem');
或者别的什么...
即使使用browserify,jquery.scrollTo仍然是一个jQuery插件,应该被称为$(...)。滚动到(...)。
你仍然需要它,所以它把自己添加到jQuery.fn,像这样:
var $ = require('jquery');
require('jquery-scrollto');
$(window).scrollTo('#myelem', 1000);
访问 Github 页面获取文档。
scrollTo
需要两样东西:滚动的东西(例如window
或div
)和目标(在您的示例中#myelem
)。你想要滚动的东西应该是一个jQuery对象,这就是为什么@Ariel Flesler建议这样包装它:$(thingToScroll)
。
在你到达这一点之前,如果你使用的是Browserify,你需要正确导入jQuery和插件。我在谷歌上搜索了如何做到这一点,结果更加困惑 - 看起来并不简单。这里有一篇SO帖子,看起来像是关于这个的:使用Browserify-shim配置一个通用的jQuery插件?
但我建议甚至不要尝试,因为将该插件与 React 一起使用可能比它的价值更麻烦。如果你只是想滚动window
它可能不是那么糟糕,但如果你想滚动页面的元素,你将不得不使用 ref
s http://facebook.github.io/react/docs/working-with-the-browser.html 在 React 的虚拟 DOM 和页面上的真实 DOM 之间来回切换。如果你决定使用 React,你最好只使用 JavaScript 和标准的 DOM API 而不是 jQuery。jQuery的一个优点是,它可以消除浏览器DOM实现中的不一致和错误。React 还在幕后为你做了一些这样的工作。
所以,简短的版本是,选择是要使用 React 还是使用 jQUery 是最容易的。如果采用no-jQuery,MDN浏览器API文档可能会有所帮助:
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTohttps://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTophttps://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
- jquery scrollTO iPhone/iPad没有't向右滚动
- jQuery - ScrollTo - 将菜单聚焦在所选目标上
- 如何在反应中使用jquery-scrollto
- Jquery scrollTo没有'不能在Firefox上工作
- jQuery.scrollTo在.acordo-activate上激活页眉
- 如何使用类选择器使用 Jquery ScrollTo() 将页面滚动到元素
- jquery.scrollTo — 在页面加载时滚动
- jQuery scrollTo-plugin 在 Firefox 中不起作用
- jQuery scrollTo() "unrecognized expression"
- jQuery ScrollTo 和 LocalScroll 从点击的链接中生成变量
- jQuery.ScrollTo 插件在隐藏/显示内容时出现问题
- jquery ScrollTo菜单外部URL链接
- chrome中的jquery scrollTo()禁用鼠标拖动
- 向jQuery ScrollTo添加偏移量
- jQuery scrollTo函数出现问题
- jQuery scrollTo在Chrome中工作,但不是FF
- 没有后退/前进按钮与JQuery ScrollTo
- jQuery.ScrollTo -如何使bg滚动速度比其他慢
- jQuery ScrollTo &Chrome:内容闪烁
- jQuery scrollTo与滑动滚动条