2010-11-03 28 views
20

Tôi có hai thẻ div, một là dành cho tìm kiếm và một là dành cho kết quả. Những gì tôi cần là khi nút gửi được nhấp vào kết quả được trả về và được đặt vào kết quả div (với iframe) và div tìm kiếm sẽ bị ẩn và div kết quả sẽ được hiển thị.Làm cho một div hiển thị và một hình khác hiển thị

div tìm kiếm ban đầu được đặt thành hiển thị (sử dụng khả năng hiển thị để hiển thị) và div kết quả ban đầu được đặt thành ẩn (sử dụng chế độ hiển thị ẩn).

Ngoài ra, ban đầu có một khoảng trắng rất lớn ở cuối trang nơi div ẩn là, vậy làm cách nào để đảm bảo không còn khoảng trắng ở dưới cùng.

Trả lời

18

Làm cho hình ảnh ẩn với khả năng hiển thị vẫn làm cho nó sử dụng hết dung lượng. Thay vào đó hãy thử đặt màn hình thành không để ẩn màn hình, sau đó đặt màn hình thành khối để hiển thị.

+0

Hoạt động hoàn hảo !!! cảm ơn tôi My Other Me – mattgcon

+1

Đúng nếu tôi sai, nhưng với iFrame bạn PHẢI làm cho nó hiển thị và hiển thị hoặc một số trình duyệt khác sẽ không tải nội dung vì lý do bảo mật. Tuy nhiên, bạn có thể làm cho nó 1x1px và độ mờ 0,01%. Tôi đã gặp sự cố này một lần trước đây với tiện ích tải lên nhiều trang. – CoolAJ86

+0

@ CoolAJ86: Không chắc chắn. Tôi đã không bao giờ sử dụng một Iframe .... Ever –

8

Tôi không nghĩ rằng bạn thực sự muốn có khung nội tuyến, phải không?

Trừ khi bạn đang làm điều gì đó kỳ lạ, bạn sẽ nhận được kết quả của bạn trở lại như JSON hoặc (trong trường hợp xấu nhất) XML, phải không?

Đối với hộp màu trắng/thêm vấn đề không gian của bạn, hãy thử

style="display: none;" 

thay vì

style="visibility: hidden;" 
+0

có thực sự tôi làm, tôi cũng không MUỐN một nhưng nó là yêu cầu của khách hàng – mattgcon

26

Bạn có thể sử dụng thuộc tính hiển thị của phong cách. Intialy đặt kiểu phần kết quả là

style = "display:none" 

Sau đó, div sẽ không hiển thị và sẽ không có bất kỳ khoảng trắng nào.

Khi kết quả tìm kiếm đang được dân cư thay đổi các thuộc tính display sử dụng kịch bản java như

document.getElementById("someObj").style.display = "block" 

Sử dụng kịch bản java bạn có thể làm cho các div vô hình

document.getElementById("someObj").style.display = "none" 
+0

hoặc trong đất jQuery $ () .show(); FWIW – rogerdpack

0

Nếu u muốn sử dụng display = chặn nó sẽ làm cho trình đọc nội dung nhảy, vì vậy thay vì sử dụng hiển thị, bạn có thể đặt thuộc tính bên trái thành giá trị âm không tồn tại trong trang html của bạn sẽ được hiển thị nhưng thực tế nó thực hiện.

Tôi hy vọng bạn phải hiểu rõ quan điểm của tôi, nếu tôi không thể làm cho bạn hiểu bạn có thể nhắn tin lại cho tôi.

Các vấn đề liên quan