1| <script type="text/javascript">
2| function more() {
3| $("#innerSub2").animate({ scrollTop: "+=240px" },1000);
4| var count = 1;
5| document.getElementById("dot" +count).style.color="#c7c9e9";
6| var count = count + 1;
7| document.getElementById("dot" +count).style.color="#6464c1";
8| }
9| </script>
Helo, tôi khá mới với javascript. Vì vậy, xin lỗi nếu đây là một câu hỏi ngu ngốc.
Trên sự kiện nhấp chuột đầu tiên biến hoạt động như tôi cần đến (dòng 5, count = 1) (dòng 7, count = 2)
Nhưng trên sự kiện nhấp chuột thứ hai tôi cần (dòng 5, count = 2) (line 7, count = 3) nhưng như bạn có thể thấy nó đặt lại thành 1 với dòng 4.
Vì vậy, câu hỏi là, làm cách nào tôi có thể khai báo | var count = 1; | bên ngoài hàm more() để nó không đặt lại biến của tôi? hoặc nếu có bất kỳ cách nào khác để làm điều này ..
Ngoài ra nếu có một cách để ngăn chặn đếm biến từ quá 3, hãy chia sẻ
Cảm ơn bạnBiến Javascript nằm ngoài chức năng?
Nó có lẽ sẽ là tốt nhất để bọc mã trong một chức năng tự thực hiện để ngăn chặn ô nhiễm toàn cầu. Một thay thế khác là định nghĩa 'move.count = 1' thay vì đếm, và chỉ làm việc của biến toàn cục' more() 'đã được định nghĩa. – William
Cảm ơn! Tôi đã thử đặt "var count = 1;" ở trên hàm nhưng bên trong hàm tôi có "var count = count + 1;" đó là lý do tại sao nó không hoạt động. đưa ra "var" đã làm các trick. Thanks guys – iamruskie
Tôi rất vui vì nó đã hoạt động !!! không ngừng học tập cuốn sách mà tôi chia sẻ với bạn là thực sự hữu ích cho việc học những điều cơ bản, xin hãy xem và đánh dấu câu hỏi này một câu trả lời như các quy tắc của trang web nói như vậy http: // stackoverflow.com/faq # howtoask "Điều này cho phép người khác biết rằng bạn đã nhận được câu trả lời hay cho câu hỏi của bạn. Việc này rất hữu ích vì nó cho thấy những người khác rằng bạn đang nhận được giá trị từ cộng đồng. (Và nếu bạn không làm điều này , mọi người sẽ lịch sự yêu cầu bạn quay lại và chấp nhận câu trả lời cho nhiều câu hỏi của bạn hơn!) " – ElHacker