I did some research through google and I didn't found anything useful.
It's now based by all page offset, but I need that it to be based by modal offset...
Image of page
How it supposed to be
My CSS code:
.bbox {
cursor: pointer;
border-style: dashed;
border-color: red;
background-color: transparent;
position: absolute;
}
My HTML code:
<div class="modal fade" tabindex="-1" role="dialog" id="correctionModal" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<div id="limit" style="position: relative;width: 100%; height: auto">
<img src="#" id="output-image" class="img-fluid">
<div class="bbox" id="eye_1" style="width: 20px; height: 20px;"></div>
<div class="bbox" id="eye_2" style="width: 20px; height: 20px;"></div>
</div>
<br>
<div class="form-group">
<button type="button" class="btn btn-success btn-sm" id="confirmCorrections">Patvirtinti</button>
</div>
</div>
</div>
</div>
</div>
My JS code:
var x_L = x - w_L/2;
var y_L = y - h_L/2;
$("#eye_1").height(h_L).width(w_L);
$("#eye_1").offset({ top: y_L.toFixed(2), left: x_L.toFixed(2) });
You need to add the offset of your eye boxes onto the offset of their parent element.
Something like this:
var x_L = x - w_L/2;
var y_L = y - h_L/2;
x_L += $("#limit").offset().left;
y_L += $("#limit").offset().top;
$("#eye_1").height(h_L).width(w_L);
$("#eye_1").offset({ top: y_L.toFixed(2), left: x_L.toFixed(2) });
I'm using the Guid here: https://www.sitepoint.com/building-3d-rotating-carousel-css-javascript/, it works fine but not in safari. I try to find out what Safari does different to other Browser in this case. I guess a certain Math function like: theta = 2 * Math.PI / numImages,in Safari creates another reference to find a center in 3D space, z axis.
I can't really dig much deeper myself. I should try to move the object bit more far from Screen on z axis
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head
<body>
<div class="carousel">
<figure>
<img src="https://source.unsplash.com/7mUXaBBrhoA/800x533" alt="" name="bar">
<img src="https://source.unsplash.com/bjhrzvzZeq4/800x533" alt="" name="bar1">
<img src="https://source.unsplash.com/EbuaKnSm8Zw/800x533" alt="" name="bar2">
<img src="https://source.unsplash.com/kG38b7CFzTY/800x533" alt="" name="bar3">
<img src="https://source.unsplash.com/nvzvOPQW0gc/800x533" alt="" name="bar4">
<img src="https://source.unsplash.com/mCg0ZgD7BgU/800x533" alt="" name="bar5">
<img src="https://source.unsplash.com/1FWICvPQdkY/800x533" alt="" name="bar6">
<img src="https://source.unsplash.com/VkwRmha1_tI/800x533" alt="" name="bar7">
</figure>
<nav>
<button class="nav prev">Prev</button>
<button class="nav next">Next</button>
</nav>
</div>
<!-- Modal -->
<div class="modal fade" id="bar" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Options</h4>
</div>
<div class="modal-body">
<p>Modal content..</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="bar1" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal 1 Options</h4>
</div>
<div class="modal-body">
<p>Modal 1 content..</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="bar2" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Options</h4>
</div>
<div class="modal-body">
<p>Modal content..</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="bar3" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal 3</h4>
</div>
<div class="modal-body">
<p>Modal 3 content..</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</body>
$('img').on('click', function(){
// $(this).css({"background-color": "yellow", "font-size": "200%"})
var name = $(this).attr('name');
// console.log(name);
$('#' + name).modal({show: true});
});
var
carousel = document.querySelector('.carousel'),
figure = carousel.querySelector('figure'),
nav = carousel.querySelector('nav'),
numImages = figure.childElementCount,
theta = 2 * Math.PI / numImages,
currImage = 0
;
nav.addEventListener('click', onClick, true);
function onClick(e) {
e.stopPropagation();
var t = e.target;
if (t.tagName.toUpperCase() != 'BUTTON')
return;
if (t.classList.contains('next')) {
currImage++;
}
else {
currImage--;
}
figure.style.transform = `rotateY(${currImage * -theta}rad)`;
}
body {
margin: 0;
font-family: "Roboto";
font-size: 16px;
display: flex;
flex-direction: column;
height: 100vh;
justify-content: center;
}
.plakat {
width: 100%
}
.carousel {
padding: 20px;
-webkit-perspective: 500px;
perspective: 500px;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
}
.carousel > * {
flex: 0 0 auto;
}
.carousel figure {
margin: 0;
width: 400px;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
transition: -webkit-transform 0.5s;
transition: transform 0.5s;
transition: transform 0.5s, -webkit-transform 0.5s;
-webkit-transform-origin: 50% 50% -482.8427124746px;
transform-origin: 50% 50% -482.8427124746px;
}
.carousel figure img {
width: 100%;
box-sizing: border-box;
padding: 0 40px;
opacity: 0.9;
}
.carousel figure img:not(:first-of-type) {
position: absolute;
left: 0;
top: 0;
-webkit-transform-origin: 50% 50% -482.8427124746px;
transform-origin: 50% 50% -482.8427124746px;
}
.carousel figure img:nth-child(2) {
-webkit-transform: rotateY(0.7853981634rad);
transform: rotateY(0.7853981634rad);
}
.carousel figure img:nth-child(3) {
-webkit-transform: rotateY(1.5707963268rad);
transform: rotateY(1.5707963268rad);
}
.carousel figure img:nth-child(4) {
-webkit-transform: rotateY(2.3561944902rad);
transform: rotateY(2.3561944902rad);
}
.carousel figure img:nth-child(5) {
-webkit-transform: rotateY(3.1415926536rad);
transform: rotateY(3.1415926536rad);
}
.carousel figure img:nth-child(6) {
-webkit-transform: rotateY(3.926990817rad);
transform: rotateY(3.926990817rad);
}
.carousel figure img:nth-child(7) {
-webkit-transform: rotateY(4.7123889804rad);
transform: rotateY(4.7123889804rad);
}
.carousel figure img:nth-child(8) {
-webkit-transform: rotateY(5.4977871438rad);
transform: rotateY(5.4977871438rad);
}
.carousel nav {
display: flex;
justify-content: center;
margin: 20px 0 0;
}
.carousel nav button {
flex: 0 0 auto;
margin: 0 5px;
cursor: pointer;
color: #333;
background: none;
border: 1px solid;
letter-spacing: 1px;
padding: 5px 10px;
}
here is a codepen: https://codepen.io/scribbi/pen/ZPRzrp
it should look like this:
But it looks like that:
As we can see here: http://thenewcode.com/736/Advanced-CSS-3D-Carousel the problem already exists, Safari "displaces the transform-origin-z coordinate for the gallery, pushing it forward in the browser"
for some reason it is rotating around the center of the fifth Image, while the first image is positioned deeper in the carousel.
Another approach here: https://codepen.io/scribbi/pen/BEjJLY is functioning in these Browsers, no SCSS is used and more hardcoding needed. As well it's not yet responsive.
maybe related: -webkit-transform-style: preserve-3d not working
When my modal based bootstrap carousel is viewed between 771px and 993px wide, it gets very small and has huge left and right margins.
At all other sizes, it reduces proportionally with just enough margin for the forward and background arrows.
Any insights as to why?
/* activate the carousel */
$("#modal-carousel").carousel({interval:false});
/* change modal title when slide changes */
$("#modal-carousel").on("slid.bs.carousel", function(){
$(".modal-title")
.html($(this)
.find(".active img")
.attr("title"));
});
/* when clicking a thumbnail */
$(".row .thumbnail").click(function(){
var content = $(".carousel-inner");
var title = $(".modal-title");
content.empty();
title.empty();
var id = this.id;
var repo = $("#img-repo .item");
var repoCopy = repo.filter("#" + id).clone();
var active = repoCopy.first();
active.addClass("active");
title.html(active.find("img").attr("title"));
content.append(repoCopy);
// show the modal //
$("#modal-gallery").modal("show");
});
#import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
/* modal full background opacity */
.modal-backdrop.in {
opacity: 0.8;
}
/* change opacity of modal border to match
modal background opacity */
.modal-content {
background-color: transparent;
}
/* arrow style */
.carousel-control.left,.carousel-control.right{
background-image:none;
width: auto;
opacity: 0.8;
}
/* arrow postition outside image */
.carousel {
padding-right: 20px;
padding-left: 20px;
}
<!-- #image-1 (row of images) -->
<div class="row">
<div class="col-md-4">
<a title="Image 4">
<a href="#" class="pop">
<img class="thumbnail img-responsive" id="image-4" src="images/powwow/powwow_04.jpg">
</a>
</a>
</div>
</div>
</div>
<div class="hidden" id="img-repo">
<div class="item" id="image-1">
<img class="thumbnail img-responsive" title="" src="images/powwow/powwow_01.jpg">
</div>
</div>
<!-- modal carousel gallery -->
<div class="modal" id="modal-gallery" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<div id="modal-carousel" class="carousel">
<div class="carousel-inner">
</div>
<a class="carousel-control left" href="#modal-carousel" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
<a class="carousel-control right" href="#modal-carousel" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
I guess it's because of the <div class="modal-dialog modal-lg"> block. Let's explore bootstrap.css:
.modal-dialog {
width: auto;
margin: 10px;
}
#media (min-width: 768px) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
}
#media (min-width: 992px) {
.modal-lg {
width: 900px;
}
}
So the width of this block becomes 600px when the screen width is between 768px and 991px. But you can redefine this property by CSS. For example:
#media (min-width: 768px) and (max-width: 991px) {
.modal-lg {
width: 90%;
}
}
/* activate the carousel */
$("#modal-carousel").carousel({interval:false});
/* change modal title when slide changes */
$("#modal-carousel").on("slid.bs.carousel", function(){
$(".modal-title")
.html($(this)
.find(".active img")
.attr("title"));
});
/* when clicking a thumbnail */
$(".row .thumbnail").click(function(){
var content = $(".carousel-inner");
var title = $(".modal-title");
content.empty();
title.empty();
var id = this.id;
var repo = $("#img-repo .item");
var repoCopy = repo.filter("#" + id).clone();
var active = repoCopy.first();
active.addClass("active");
title.html(active.find("img").attr("title"));
content.append(repoCopy);
// show the modal //
$("#modal-gallery").modal("show");
});
#import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
#media (min-width: 768px) and (max-width: 991px) {
.modal-lg {
width: 90%;
}
}
/* modal full background opacity */
.modal-backdrop.in {
opacity: 0.8;
}
/* change opacity of modal border to match
modal background opacity */
.modal-content {
background-color: transparent;
}
/* arrow style */
.carousel-control.left,.carousel-control.right{
background-image:none;
width: auto;
opacity: 0.8;
}
/* arrow postition outside image */
.carousel {
padding-right: 20px;
padding-left: 20px;
}
<!-- #image-1 (row of images) -->
<div class="row">
<div class="col-md-4">
<a title="Image 4">
<a href="#" class="pop">
<img class="thumbnail img-responsive" id="image-4" src="images/powwow/powwow_04.jpg">
</a>
</a>
</div>
</div>
</div>
<div class="hidden" id="img-repo">
<div class="item" id="image-1">
<img class="thumbnail img-responsive" title="" src="images/powwow/powwow_01.jpg">
</div>
</div>
<!-- modal carousel gallery -->
<div class="modal" id="modal-gallery" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<div id="modal-carousel" class="carousel">
<div class="carousel-inner">
</div>
<a class="carousel-control left" href="#modal-carousel" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
<a class="carousel-control right" href="#modal-carousel" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
I am trying to build a website for a friend. I am not much in the way of coding as it has been quite a long time since I have messed with it. I am using bootstrap for this project. I cant figure out how to get the side navbar to collapse after clicking on a link. It will collapse if you click the "X" in the corner. Any help will be greatly appreciated. The website is up at this link.
Use jQuery for this:
$('#sidebar-nav a').click(function () {
$('#sidebar-wrapper').removeClass('active');
}
It will remove active class from your sidebar menu when you click on the link in it.
Just add another function to remove the active class from the sidebar-wrapper ID when a link is clicked.
// Closes the sidebar menu on link click
$("#sidebar-wrapper a").click(function (e) {
e.preventDefault();
$("#sidebar-wrapper").removeClass("active");
});
See working example Snippet.
$(document).ready(function() {
// Opens the sidebar menu
$("#menu-toggle").click(function(e) {
e.preventDefault();
$("#sidebar-wrapper").toggleClass("active");
});
// Closes the sidebar menu
$("#menu-close").click(function(e) {
e.preventDefault();
$("#sidebar-wrapper").toggleClass("active");
});
// Closes the sidebar menu on link click
$("#sidebar-wrapper a").click(function(e) {
e.preventDefault();
$("#sidebar-wrapper").removeClass("active");
});
// Scrolls to the selected menu item on the page
$(function() {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') || location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
});
html,
body {
width: 100%;
height: 100%;
}
body {
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.text-vertical-center {
display: table-cell;
text-align: center;
vertical-align: middle;
}
.text-vertical-center h1 {
margin: 0;
padding: 0;
font-size: 4.5em;
font-weight: 700;
}
.btn-dark {
border-radius: 0;
color: #fff;
background-color: rgba(0, 0, 0, 0.4);
}
.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
color: #fff;
background-color: rgba(0, 0, 0, 0.7);
}
.btn-light {
border-radius: 0;
color: #333;
background-color: rgb(255, 255, 255);
}
.btn-light:hover,
.btn-light:focus,
.btn-light:active {
color: #333;
background-color: rgba(255, 255, 255, 0.8);
}
hr.small {
max-width: 100px;
}
#sidebar-wrapper {
z-index: 1000;
position: fixed;
right: 0;
width: 250px;
height: 100%;
margin-right: -250px;
overflow-y: auto;
background: #222;
-webkit-transition: all 0.4s ease 0s;
-moz-transition: all 0.4s ease 0s;
-ms-transition: all 0.4s ease 0s;
-o-transition: all 0.4s ease 0s;
transition: all 0.4s ease 0s;
}
.sidebar-nav {
position: absolute;
top: 0;
width: 250px;
margin: 0;
padding: 0;
list-style: none;
}
.sidebar-nav li {
text-indent: 20px;
line-height: 40px;
}
.sidebar-nav li a {
display: block;
text-decoration: none;
color: #999;
}
.sidebar-nav li a:hover {
text-decoration: none;
color: #fff;
background: rgba(255, 255, 255, 0.2);
}
.sidebar-nav li a:active,
.sidebar-nav li a:focus {
text-decoration: none;
}
.sidebar-nav > .sidebar-brand {
height: 55px;
font-size: 18px;
line-height: 55px;
}
.sidebar-nav > .sidebar-brand a {
color: #999;
}
.sidebar-nav > .sidebar-brand a:hover {
color: #fff;
background: none;
}
#menu-toggle {
z-index: 1;
position: fixed;
top: 0;
right: 0;
}
#sidebar-wrapper.active {
right: 250px;
width: 250px;
-webkit-transition: all 0.4s ease 0s;
-moz-transition: all 0.4s ease 0s;
-ms-transition: all 0.4s ease 0s;
-o-transition: all 0.4s ease 0s;
transition: all 0.4s ease 0s;
}
.toggle {
margin: 5px 5px 0 0;
}
.header {
display: table;
position: relative;
width: 100%;
height: 100%;
background: url(../img/bg.jpg) no-repeat center center scroll;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
.about {
padding: 50px 0;
}
.services {
padding: 50px 0;
}
.service-item {
margin-bottom: 30px;
}
.callout {
display: table;
width: 100%;
height: 400px;
color: #fff;
background: url(../img/callout.jpg) no-repeat center center scroll;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
.portfolio {
padding: 50px 0;
}
.portfolio-item {
margin-bottom: 30px;
}
.img-portfolio {
margin: 0 auto;
}
.img-portfolio:hover {
opacity: 0.8;
}
.call-to-action {
padding: 50px 0;
}
.call-to-action .btn {
margin: 10px;
}
.map {
height: 500px;
}
#media(max-width:768px) {
.map {
height: 75%;
}
}
footer {
padding: 100px 0;
}
.modal-dialog {} .thumbnail {
margin-bottom: 6px;
}
.carousel-control.left,
.carousel-control.right {
background-image: none;
margin-top: 10%;
width: 5%;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.4.0/animate.min.css" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" /><a id="menu-toggle" href="#" class="btn btn-dark btn-lg toggle"><i class="fa fa-bars"></i></a>
<nav id="sidebar-wrapper">
<ul class="sidebar-nav"> <a id="menu-close" href="#" class="btn btn-light btn-lg pull-right toggle"><i class="fa fa-times"></i></a>
<li> <a href="#top" onclick=$ ( "#menu-close").click();>Home</a>
</li>
<li> <a href="#about" onclick=$ ( "#menu-close").click();>About</a>
</li>
<li> <a href="#services" onclick=$ ( "#menu-close").click();>Services</a>
</li>
</ul>
</nav>
<header id="top" class="header">
<div class="text-vertical-center">
<img src="img/PRECISIONLOGO.png" style="padding-bottom:2%; width: 40%; min-width:300px;">
<center>
<h1 style="font-size:5vw; max-width:85%;">DECORATE YOUR LIFE WITH PRECISION </h1>
</center>
<center>
<h3 style="font-size:3vw; max-width:75%;">Established in 2008, we have already established ourselves as one of the premier landscaping companies in South Houston</h3>
</center>
<br>
<center> Hire Us
</center>
<a href="http://www.homeadvisor.com/rated.PrecisionTree.43991652.html">
<img src="img/toprated.png" style="float:left; width:6%; min-width:70px; padding-left:15px; position: absolute; bottom:5px; left: 15px; border:0;">
<img src="img/elite.png" style="float:left; width:6%; min-width:70px; padding-left:15px; position: absolute; bottom: 17px; left: 95px;">
<img src="img/approved.png" style="float:left; width:6%; min-width:70px; padding-left:15px; position: absolute; bottom: 17px; left: 175px;">
</a>
</div>
</header>
<section id="about" class="about" style="padding-bottom:0;">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h2 style="color:#777">What we are all about!</h2>
<p class="lead">Precision Tree and Landscaping is a locally owned and operated company with over 6 years of experience. We take pride in our work, our goal is to make and keep every customer happy. We have consistently focused on the needs of our customers, providing
personalized attention and a stress-free experience.</p>
<img src="img/jared.jpg" style="max-width:350px; width:80%;">
<p class="lead"> <b>Jared Davis</b> Owner and Operator</p>
</div>
</div>
</div>
</section>
<section id="services" class="services bg-primary">
<div class="container">
<div class="row text-center">
<div class="col-lg-10 col-lg-offset-1">
<h2 style="color:#d7f385;">Our Services</h2>
<hr class="small">
<div class="row">
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/banner1.png">
</span>
<h4 style="color:#d7f385;">
<strong>Landscaping Design</strong>
</h4>
<p>Allow us to redesign the exterior of your home. It can even bost the value of your home!</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#design" style="background:#abd91e; border:none;">Learn More</button>
<!-- Trigger the modal with a button -->
<div class="modal fade" id="design" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Landscaping Design</h4>
</div>
<div class="modal-body">
<p style="color:#777">We have the talent and experience to give your home a complete makeover that will make you love your home again. You can leave all the work to us or we can come up with a design together. Whether you are designing, building, renovating
a home or simply creating a complimentary landscape, we can cover all your needs.</p>
<p style="color:#777;">Our team of designers will unify your home and garden to create a personalized outdoor living space.</p>
<h2 style="color:#777;">Scope of Design Services</h2>
<ul style="color:#777; text-align:left;">
<li>Landscape Design & Installation</li>
<li>Swimming Pools, Spas & Water Features</li>
<li>Fountains, Urns, Statuary & Garden Features</li>
<li>Outdoor Kitchens, Fireplaces, Fire pits, Terraces, Patios & Driveways</li>
<li>Pergolas, Arbors, Gates & Fencing</li>
<li>Outdoor Light</li>
<li>Irrigation Systems</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/banner2.png">
</span>
<h4 style="color:#d7f385;">
<strong>Drainage</strong>
</h4>
<p>Thinking ahead and planning can make a big difference when it comes to protect your house from flooding.</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#drainage" style="background:#abd91e; border:none;">Learn More</button>
<!-- Trigger the modal with a button -->
<div class="modal fade" id="drainage" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Drainage</h4>
</div>
<div class="modal-body">
<p style="color:#777">Do you have low spots in your yard? Does standing water stay for days after a rain storm? We can help you fix this. We know how annoying rain on Wednesday still standing in your back yard on Saturday can be. This can ruin -</p>
<ul style="color:#777; text-align:left;">
<li>Prevent water from entering and damaging your home</li>
<li>Prevent soil erosion in and around your home</li>
<li>Prevent mosquito infestation</li>
<li>Prevent your landscape from washout and drowning</li>
<li>Prevent standing water which causes slippery surfaces</li>
<li>Prevent overall nuisance standing water can cause</li>
</ul>
<p style="color:#777">Designing the proper drainage system for your property is more complex than you might think, but having it done correctly the first time is a simple choice. Trust Precision Tree & Landscaping with all your drainage needs.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/bannergrass1.png">
</span>
<h4 style="color:#d7f385;">
<strong>Lawn Maintanance</strong>
</h4>
<p>Maintanance is a pivotal to keep your yard looking in top shape. At Precision we have you covered.</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#sprinkler" style="background:#abd91e; border:none;">Learn More</button>
<!-- Trigger the modal with a button -->
<div class="modal fade" id="sprinkler" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Lawn Maintanance</h4>
</div>
<div class="modal-body">
<p style="color:#777;">Make sure your lawn always looks fantastic with regular lawn maintenance services from Precision Tree & Landscaping. From tiny yards to large properties, our specialists can tackle all jobs (big and small). Wether your trying
to grow new, revive, or maintain an already outstanding lawn we have all the tools to tackle the job.</p>
<p style="color:#777;">Proper maintenance can lead to benefits people dont often think about. Such as-</p>
<ul style="color:#777; text-align:left;">
<li>Decreased soil errosion</li>
<li>Reduces allergen-producing weeds</li>
<li>Oxygenates the air and filters groundwater naturally</li>
<li>Absorbs nutrients and prevents leaching</li>
<li>Absorbs as much carbon dioxide as trees</li>
<li>Dissipates heat to reduce temperature</li>
<li>Adds curb appeal to your home</li>
<li>Can improve your homes value by up to 11%</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/banner4.png">
</span>
<h4 style="color:#d7f385;">
<strong>Tree Trimming & Removal</strong>
</h4>
<p>Fallen branches cause over a billion dollars in damage every year. Make sure you dont become a victim</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#tree" style="background:#abd91e; border:none;">Learn More</button>
<div class="modal fade" id="tree" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Tree Trimming and Removal</h4>
</div>
<div class="modal-body">
<p style="color:#777">Damage caused to trees by severe weather accounts for more than $1 billion in property damage in the United States each year. Broken limbs, fallen trees and wood debris propelled by strong wind damages thousands of properties annually.
Fallen trees and broken branches cause structural damage, roofing damage, siding damage, break windows, fall on cars and cause power lines to topple. Homeowners should be aware that trees located between the street and sidewalk
are usually owned by the city and removal of damaged trees are the city’s responsibility. If you have a tree that has been damaged and needs to be removed, be aware that many insurance policies cover the cost of tree removal, including
fallen branches.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="services.2" class="services bg-primary" style="padding-top:0;">
<div class="container">
<div class="row text-center">
<div class="col-lg-10 col-lg-offset-1">
<div class="row">
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/fencebanner.png">
</span>
<h4 style="color:#d7f385;">
<strong>Custom Fencing</strong>
</h4>
<p>If you are looked for a fence replacement or something for a new home. We can do that.</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#fence" style="background:#abd91e; border:none;">Learn More</button>
<div class="modal fade" id="fence" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Custom Fencing</h4>
</div>
<div class="modal-body">
<p style="color:#777">Simply stated - perimeter fencing is one of the most important things to consider while either buying or building a new home. The home that you purchase will probably be the most important investment you will ever make, and there
is possibly no other feature that you can add to increase the value and marketablility of that investment - than an attractive looking perimeter fence that is professionally installed and maintained.</p>
<p style="color:#777">Let Precision help you with all your fencing needs. We can answer any questions you may have and we are always here to help</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/rockbanner.png">
</span>
<h4 style="color:#d7f385;">
<strong>Rock Installation</strong>
</h4>
<p>Whether its a custom walkway or place to relax in your backyard, the guys at percision have you covered.</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#rock" style="background:#abd91e; border:none;">Learn More</button>
<div class="modal fade" id="rock" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Rock Installation</h4>
</div>
<div class="modal-body">
<p style="color:#777">We can make your dreams a reality for your custom walkways or outdoor relaxation areas. If you have an idea in your head we can get it onto paper and have it finished in no time. If you would like for us to design whatever you need,
we can do that to. Almost nothing can have as dramatic of an effect as custom stone walkways or deck areas in your back yard. The sky is truly the limit on how one of a kind your home can be with custom stone work.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/grass1.png">
</span>
<h4 style="color:#d7f385;">
<strong>Sod Installation</strong>
</h4>
<p>Building a new home? Trying to revive part of your lawn? Whatever the case, we have you covered.</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#sod" style="background:#abd91e; border:none;">Learn More</button>
<div class="modal fade" id="sod" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Sod Instalation</h4>
</div>
<div class="modal-body">
<p style="color:#777">There is no job to big or small if you need sod installation we are the answer. It's back breaking work and is not advised to go at it alone. Let the guys at Precision help you out.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-sm-6">
<div class="service-item"> <span class="fa-stack fa-4x">
<img src="img/powerbanner.png">
</span>
<h4 style="color:#d7f385;">
<strong>Power Washing</strong>
</h4>
<p>Give your home a quick face lift by power cleaning siding, side walks, and driveways.</p>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#power" style="background:#abd91e; border:none;">Learn More</button>
<!-- Trigger the modal with a button -->
<div class="modal fade" id="power" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#777">Tree Trimming and Removal</h4>
</div>
<div class="modal-body">
<p style="color:#777">Pressure washing is a fast and effective way to clean decks, siding, driveways, and other exterior areas of your property. To have it done right, without the hassle and expense of renting a power washer, call the guys at Precision
for professional power washing services and get the clean deck, siding and driveway you want, fast!</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
Following is the Twitter Bootstrap snippet which I am trying to close from javascript after 5 second but I was unable to do that. Kindly let me know how can I close it.
Currently its closing when a user clicks on this button:
<button type="button" class="close" style="float: none;" data-dismiss="modal" aria-hidden="true">×</button>
http://bootsnipp.com/snippets/featured/centered-processing-modal
<!-- Static Modal -->
<div class="modal modal-static fade" id="processing-modal" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="text-center">
<img src="http://www.travislayne.com/images/loading.gif" class="icon" />
<h4>Processing... <button type="button" class="close" style="float: none;" data-dismiss="modal" aria-hidden="true">×</button></h4>
</div>
</div>
</div>
</div>
</div>
.modal-static {
position: fixed;
top: 50% !important;
left: 50% !important;
margin-top: -100px;
margin-left: -100px;
overflow: visible !important;
}
.modal-static,
.modal-static .modal-dialog,
.modal-static .modal-content {
width: 200px;
height: 200px;
}
.modal-static .modal-dialog,
.modal-static .modal-content {
padding: 0 !important;
margin: 0 !important;
}
.modal-static .modal-content .icon {
}
Without wanting to read the docs for you, here's the quick and dirty solution for the one in the link.
setTimeout(
function(){
$('#processing-modal button.close').click();
},
5000
);
If you want more granular control, you'll have to read the docs. This is intended to finish when some data process that it's bound to somehow is finished. That's probably somehow tied to a custom attribute and triggering an event or something.