Làm cách nào để thêm chuyển đổi mở rộng/thu gọn?Thêm mở rộng/thu gọn CSS3
Trả lời
Đây là giải pháp của tôi rằng điều chỉnh chiều cao tự động: http://jsfiddle.net/9ccjE/
tôi đã sử dụng workaround rằng r3bel gửi: Can you use CSS3 to transition from height:0 to the variable height of content?
'.measuringWrap' là không cần thiết. Bạn có thể sử dụng thuộc tính scrollHeight của '.growDiv' http://jsfiddle.net/9ccjE/293/ – Guria
Thậm chí mã ngắn hơn bằng cách sử dụng toán tử bậc ba: http://jsfiddle.net/9ccjE/838/ – Robbendebiene
này nên làm việc, đã phải cố gắng một thời gian quá ..: D
Tốt, nhưng làm cách nào để tránh đặt chiều cao trong javascript? Độ dài của nội dung bên trong lớp sẽ thay đổi. – Felix
như được viết [ở đây] (http://stackoverflow.com/a/3512194/1517380) điều này là không thể atm (vì bạn muốn có một hình ảnh động phải không?) ngoại trừ [giải pháp thay thế đắt tiền được mô tả tại đây] (http://stackoverflow.com/questions/3149419/can-you-use-css3-to-transition-from-height0-to-the-variable-height-of-content) – r3bel
tôi đã chỉnh sửa jsfiddle của bạn một lần nữa và thêm một "workaround" cho chiều cao động, nhưng bạn phải có chiều cao của trình đơn thả xuống mỗi lần khi chiều cao thả xuống thay đổi với javascript: [jsfiddle] (http://jsfiddle.net/Bq6eK/217 /). tôi không đảm bảo với bạn rằng điều này làm việc với tất cả các trình duyệt một cách chính xác: D – r3bel
http://jsfiddle.net/Bq6eK/215/
tôi không sửa đổi mã của bạn cho giải pháp này, tôi đã viết của tôi thay vào đó. Giải pháp của tôi không hoàn toàn là những gì bạn đã yêu cầu, nhưng có lẽ bạn có thể xây dựng nó với kiến thức hiện có. Tôi cũng đã nhận xét mã này để bạn biết chính xác tôi đang làm gì với những thay đổi đó.
Là giải pháp để "tránh đặt chiều cao trong JavaScript", tôi vừa tạo tham số 'maxHeight' trong hàm JS có tên toggleHeight. Bây giờ nó có thể được đặt trong HTML cho mỗi div của lớp có thể mở rộng.
Tôi sẽ nói điều này, tôi không phải là siêu kinh nghiệm với các ngôn ngữ front-end, và có một vấn đề mà tôi cần phải bấm vào nút 'Hiện/ẩn' hai lần trước khi hoạt ảnh bắt đầu. Tôi nghi ngờ đó là vấn đề với sự tập trung.
Vấn đề khác với giải pháp của tôi là bạn có thể thực sự tìm ra văn bản ẩn mà không cần nhấn nút hiển thị/ẩn chỉ bằng cách nhấp vào div và kéo xuống, bạn có thể đánh dấu văn bản không hiển thị và dán đến một không gian hiển thị.
Đề xuất của tôi cho một bước tiếp theo trên đầu trang của những gì tôi đã làm là để làm cho nó để hiển thị/ẩn nút thay đổi động. Tôi nghĩ rằng bạn có thể tìm ra cách để làm điều đó với những gì bạn đã dường như biết về hiển thị và ẩn văn bản với JS.
Tôi đã thực hiện hai chỉnh sửa nhỏ: http://jsfiddle.net/Bq6eK/215/. 'onclick =" ... "' phải trả về false và chiều cao phải được đặt trực tiếp cho phần tử, chứ không phải trong CSS. Nếu không, phải bấm vào nó hai lần để mở hộp, bởi vì 'elem.style' chỉ chứa tập hợp kiểu cho phần tử, nhưng không phải kiểu dáng hiệu quả. – kay
Cảm ơn! Giờ thì tôi đã hiểu. – ayang9
Đây là giải pháp không sử dụng JS. Nó sử dụng checkboxes thay thế.
Bạn có thể ẩn các hộp kiểm bằng cách thêm này để CSS của bạn:
.container input{
display: none;
}
Và sau đó thêm một số phong cách để làm cho nó trông giống như một button.
Giải pháp không áp dụng chiều cao theo số lượng văn bản. Trong CSS, bạn phải quyết định chiều cao của div đã chọn: '.ac-container input: checked ~ article.ac-small { \t chiều cao: 140px; } 'Tôi cần một giải pháp áp dụng chiều cao theo nội dung. – Felix
OMG, tôi đã cố gắng để tìm một giải pháp đơn giản để này trong nhiều giờ . Tôi biết mã đơn giản nhưng không ai cung cấp cho tôi những gì tôi muốn. Vì vậy, cuối cùng đã làm việc trên một số mã ví dụ và làm một cái gì đó đơn giản mà bất cứ ai có thể sử dụng không có yêu cầu JQuery. Javascript và css và html đơn giản. Để hoạt ảnh hoạt động, bạn phải đặt chiều cao và chiều rộng hoặc hoạt ảnh sẽ không hoạt động. Tìm thấy điều đó một cách khó khăn.
<script>
function dostuff() {
if (document.getElementById('MyBox').style.height == "0px") {
document.getElementById('MyBox').setAttribute("style", "background-color: #45CEE0; height: 200px; width: 200px; transition: all 2s ease;");
}
else {
document.getElementById('MyBox').setAttribute("style", "background-color: #45CEE0; height: 0px; width: 0px; transition: all 2s ease;");
}
}
</script>
<div id="MyBox" style="height: 0px; width: 0px;">
</div>
<input type="button" id="buttontest" onclick="dostuff()" value="Click Me">
- 1. Mở rộng/thu gọn divs
- 2. Thêm thiết bị mở rộng (thu gọn/mở rộng) vào Bảng điều khiển WinForm
- 3. Compass thêm nhỏ gọn() để các file css
- 4. Ẩn/mở các nút thu gọn/mở rộng
- 5. Nút jsTree Mở rộng/Thu gọn
- 6. jQuery Accordion mở được thu gọn
- 7. Thêm hoạt ảnh vào một ListView để mở rộng/thu gọn nội dung
- 8. Ngăn chặn gọn gàng thêm thẻ html
- 9. Mở rộng/Thu gọn đơn giản divs> JQuery?
- 10. Jquery Accordion Mở rộng Tất cả Thu gọn Tất cả
- 11. Mở rộng mã thu gọn trong Eclipse IDE
- 12. mở rộng danh sách thu gọn không theo thứ tự
- 13. Cách mở rộng nhà cung cấp gọn nhẹ trong Chef
- 14. Tôi cần mở rộng/thu gọn cho RowDetailsTemplate
- 15. TTreeView - Thay đổi Mở rộng và Thu gọn Hình ảnh?
- 16. Visual Studio, Thu gọn/Mở rộng Khu vực CHỈ tắt
- 17. Triển khai thông báo mở rộng và thu gọn android
- 18. Thu gọn bootstrap - Jquery "Thu gọn tất cả" chức năng
- 19. Thêm hỗ trợ CSS3 vào IE7 + với Javascript
- 20. Thêm ngẫu nhiên vào vòng lặp hoạt ảnh css3
- 21. thêm chiều cao tối thiểu cho nhiều cột CSS3
- 22. Chuyển tiếp CSS3 muốn thêm màu và làm mờ đi
- 23. thêm thời gian trễ trong hoạt ảnh css3
- 24. Cách thêm 'thu gọn' vào một Django StackedInline
- 25. Thu gọn CSS Thu gọn
- 26. Hệ thống mẫu Javascript nhỏ gọn, nhỏ gọn?
- 27. css3 slideup slide xuống
- 28. Một cách gọn gàng mở rộng một thuộc tính lớp trong lớp con
- 29. mod_rewrite Thêm mở rộng .php
- 30. WPF: thu gọn GridSplitter?
Một JSFiddle thích hợp hơn sẽ là: http://jsfiddle.net/Bq6eK/1/ – TheZ
Cảm ơn, tôi đã cố gắng dán js trong cửa sổ thích hợp nhưng tôi đã không nhận được nó để làm việc. – Felix