Cá nhân tôi thích "hoverIntent" plugin:
http://cherne.net/brian/resources/jquery.hoverIntent.html
từ trang: hoverIntent là một plugin mà cố gắng để xác định mục đích của người dùng ... giống như một quả cầu pha lê, chỉ với chuột phong trào! Nó hoạt động như (và được bắt nguồn từ) hover tích hợp của jQuery. Tuy nhiên, thay vì ngay lập tức gọi hàm onMouseOver, nó chờ cho đến khi chuột của người dùng chậm lại đủ trước khi thực hiện cuộc gọi.
Tại sao? Để trì hoãn hoặc ngăn tình cờ kích hoạt các hoạt ảnh hoặc cuộc gọi ajax. Thời gian chờ đơn giản hoạt động cho các khu vực nhỏ, nhưng nếu khu vực mục tiêu của bạn lớn, nó có thể thực thi bất kể ý định.
var config = {
sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
interval: 200, // number = milliseconds for onMouseOver polling interval
over: makeTall, // function = onMouseOver callback (REQUIRED)
timeout: 500, // number = milliseconds delay before onMouseOut
out: makeShort // function = onMouseOut callback (REQUIRED)
};
$("#demo3 li").hoverIntent(config)
Cấu hình tùy chọn
nhạy: Nếu chuột di chuyển ít hơn con số này của pixel giữa khoảng thời gian bỏ phiếu, sau đó là "trên" chức năng sẽ được gọi. Với ngưỡng nhạy cảm tối thiểu là 1, chuột không được di chuyển giữa các khoảng thời gian bỏ phiếu. Với ngưỡng độ nhạy cao hơn, bạn có nhiều khả năng nhận được dương tính giả. Độ nhạy mặc định: 7
khoảng thời gian: Số lượng nghìn giây di chuộtTần chờ giữa đọc/so sánh tọa độ chuột. Khi chuột của người dùng đầu tiên vào phần tử, tọa độ của nó được ghi lại. Chức năng "over" sớm nhất có thể được gọi là sau một khoảng thời gian bỏ phiếu duy nhất. Việc đặt khoảng thời gian bỏ phiếu cao hơn sẽ làm tăng độ trễ trước khi có thể gọi "over" đầu tiên, nhưng cũng làm tăng thời gian tới điểm so sánh tiếp theo. Khoảng thời gian mặc định: 100
qua: Bắt buộc.Hàm bạn muốn gọi trênMouseOver. Hàm của bạn nhận được cùng một đối tượng "this" và "event" giống như nó có trong phương thức di chuột của jQuery.
timeout: Độ trễ đơn giản, tính bằng mili giây, trước khi chức năng "out" được gọi. Nếu người dùng quay trở lại phần tử trước khi hết thời gian chờ, chức năng "out" sẽ không được gọi (cũng như không gọi hàm "over"). Điều này chủ yếu là để bảo vệ chống lại quỹ đạo cẩu thả cẩu thả/con người tạm thời (và vô tình) đưa người dùng ra khỏi yếu tố mục tiêu ... cho họ thời gian để quay trở lại. Thời gian chờ mặc định: 0
ra: Bắt buộc. Hàm bạn muốn gọi trênMouseOut. Hàm của bạn nhận được cùng một đối tượng "this" và "event" giống như nó có trong phương thức di chuột của jQuery. Lưu ý, hoverIntent sẽ chỉ gọi hàm "out" nếu hàm "over" đã được gọi trên cùng một lần chạy đó.
$ .data (này)? Hình như tôi có một số đọc để làm! –
+1 cho hoverIntent! – alex
Đây phải là câu trả lời thứ nhất. – Ronan