सरल, मैं सिर्फ यह है करने के लिए तो जब कोई उपयोगकर्ता एक आइटम खींच रहा है चाहते हैं और वे बहुत नीचे या व्यूपोर्ट (10px या तो), पेज (लगभग 3000px लंबे) के शीर्ष तक पहुंचने धीरे स्क्रॉल नीचे या ऊपर, जब तक वे अपने कर्सर (और इस प्रकार आइटम को खींचा जा रहा है) क्षेत्र से बाहर ले जाएं।स्क्रीन के शीर्ष या निचले किनारे पर कर्सर होने पर किसी पृष्ठ को स्क्रॉल करने के लिए JQuery/जावास्क्रिप्ट का उपयोग कैसे करें?
एक आइटम एक ली टैग है जो सूची आइटम को खींचने योग्य बनाने के लिए jquery का उपयोग करता है। विशिष्ट होना करने के लिए:
- ../jquery-ui-1.8.14.custom.min.js
- http://code.jquery.com/jquery-1.6.2.min.js
मैं वर्तमान में window.scrollBy का उपयोग (x = 0, y = 3) पेज स्क्रॉल और के चर के लिए:
- e.pageY ... प्रदान करता है पेज (स्क्रीन के सापेक्ष नहीं)
- $ .scrollTop() पर कर्सर की पूर्ण वाई निर्देशांक ... प्रदान करता है offse पृष्ठ के शीर्ष से (जब स्क्रॉल बार सभी तरह से ऊपर है, यह 0 है)
- $ .height() ... उपयोगकर्ता के ब्राउज़र/व्यूपोर्ट
- body.offsetHeight में देखने योग्य क्षेत्र की ऊंचाई प्रदान करता है .. पूरे पृष्ठ की ऊंचाई
मैं इसे कैसे प्राप्त कर सकता हूं और कौन सा ईवेंट इसे सबसे अच्छा समायोजित करता है (वर्तमान में यह माउसओवर में)? मेरे विचार:
- उपयोग करता है, तो/किसी और अगर यह शीर्ष क्षेत्र या निचले हिस्से पर है की जाँच करने के लिए एक एक, ऊपर स्क्रॉल अगर e.pageY, यह शीर्ष पर है दिखाया जा रहा है नीचे अगर e.page & तल में है , और फिर $ ('li') को कॉल करने के लिए। माउसओवर() ईवेंट को फिर से शुरू करने के लिए ...
- लूप के दौरान एक करें का उपयोग करें ... यह वास्तव में वास्तव में अच्छा काम करता है, लेकिन स्क्रॉलिंग से दूर तक रुकना मुश्किल है। लेकिन मुझे यकीन है कि कैसे पुनरावृत्तियों नियंत्रित करने के लिए नहीं कर रहा हूँ ....
मेरे नवीनतम प्रयास: आप कर रहे हैं, जबकि
('li').mouseover(function(e) {
totalHeight = document.body.offsetHeight;
cursor.y = e.pageY;
var papaWindow = window;
var $pxFromTop = $(papaWindow).scrollTop();
var $userScreenHeight = $(papaWindow).height();
var iterate = 0;
do {
papaWindow.scrollBy(0, 2);
iterate++;
console.log(cursor.y, $pxFromTop, $userScreenHeight);
}
while (iterate < 20);
});
FYI करें, मैं सिर्फ नए ब्राउज़र के बारे में चिंतित है, मुख्य रूप एफएफ हूँ और क्रोम ... IE 7 या उससे कम – webDevAndEverythingElse
हाय मेरी "दुनिया" में मौजूद नहीं है, अब आप के लिए एक काम समाधान मिल गया है यह समस्या? क्या आप इसे पोस्ट कर सकते हैं? मेरे पास यहां एक ही समस्या है: http://stackoverflow.com/questions/11222047/how-to-scroll-when-cursor-is-on-the-edge-of-div#comment14738038_11222047 – Xerxes